From 999a6203319da5605b58b1d3b7326493af105bb5 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 14:30:01 -0300 Subject: [PATCH 01/22] Fix npm version in gen tool docs --- .github/workflows/generate-toolkit-docs.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index 185d89286..a540fe27b 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -27,8 +27,6 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v4 - with: - version: 9 - name: Setup Node.js uses: actions/setup-node@v4 From 9aca853996ed7ff59e2dc42f17a71c72b1b723eb Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 14:46:00 -0300 Subject: [PATCH 02/22] fixing second bug ... --- .github/workflows/generate-toolkit-docs.yml | 2 +- toolkit-docs-generator/README.md | 10 ++++++---- .../tests/workflows/generate-toolkit-docs.test.ts | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index a540fe27b..5e03c8a55 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -43,7 +43,7 @@ jobs: - name: Generate toolkit docs run: | - pnpm start generate \ + pnpm dlx tsx src/cli/index.ts generate \ --all \ --skip-unchanged \ --engine-api-url "$ENGINE_API_URL" \ diff --git a/toolkit-docs-generator/README.md b/toolkit-docs-generator/README.md index 7b9e05eed..c98227835 100644 --- a/toolkit-docs-generator/README.md +++ b/toolkit-docs-generator/README.md @@ -77,10 +77,12 @@ This step does not change JSON output. It only updates navigation files. ## Local usage +Run these commands from the `toolkit-docs-generator` directory. + Generate a single toolkit: ```bash -pnpm start generate \ +pnpm dlx tsx src/cli/index.ts generate \ --providers "Github:1.0.0" \ --engine-api-url "$ENGINE_API_URL" \ --engine-api-key "$ENGINE_API_KEY" \ @@ -93,7 +95,7 @@ pnpm start generate \ Generate all toolkits: ```bash -pnpm start generate \ +pnpm dlx tsx src/cli/index.ts generate \ --all \ --skip-unchanged \ --engine-api-url "$ENGINE_API_URL" \ @@ -107,7 +109,7 @@ pnpm start generate \ Generate without LLM output: ```bash -pnpm start generate \ +pnpm dlx tsx src/cli/index.ts generate \ --providers "Asana:0.1.3" \ --engine-api-url "$ENGINE_API_URL" \ --engine-api-key "$ENGINE_API_KEY" \ @@ -139,4 +141,4 @@ pnpm dlx tsx .github/scripts/sync-toolkit-sidebar.ts - **Nothing regenerated**: `--skip-unchanged` exits early when tool definitions did not change. - **Missing metadata**: the generator falls back to the metadata JSON file when design system metadata is unavailable. -- **Verify output fails**: run `pnpm start verify-output --output data/toolkits` and fix the reported mismatch. +- **Verify output fails**: run `pnpm dlx tsx src/cli/index.ts verify-output --output data/toolkits` and fix the reported mismatch. diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index 9f95afad7..a1406ec33 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -18,7 +18,7 @@ test("porter workflow includes required triggers", () => { }); test("porter workflow generates docs and opens a PR", () => { - expect(workflowContents).toContain("pnpm start generate"); + expect(workflowContents).toContain("pnpm dlx tsx src/cli/index.ts generate"); expect(workflowContents).toContain("--skip-unchanged"); expect(workflowContents).toContain("peter-evans/create-pull-request"); expect(workflowContents).toContain("pull-requests: write"); From 2fe71c9a02387b78a3c8e65cab12efdecf586a39 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 15:05:53 -0300 Subject: [PATCH 03/22] fixign wrong flagsx --- .github/workflows/generate-toolkit-docs.yml | 4 ++-- toolkit-docs-generator/README.md | 12 ++++++------ .../tests/workflows/generate-toolkit-docs.test.ts | 2 ++ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index 5e03c8a55..4b5d4ed7f 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -46,8 +46,8 @@ jobs: pnpm dlx tsx src/cli/index.ts generate \ --all \ --skip-unchanged \ - --engine-api-url "$ENGINE_API_URL" \ - --engine-api-key "$ENGINE_API_KEY" \ + --tool-metadata-url "$ENGINE_API_URL" \ + --tool-metadata-key "$ENGINE_API_KEY" \ --llm-provider openai \ --llm-model "$OPENAI_MODEL" \ --llm-api-key "$OPENAI_API_KEY" \ diff --git a/toolkit-docs-generator/README.md b/toolkit-docs-generator/README.md index c98227835..b521fe9df 100644 --- a/toolkit-docs-generator/README.md +++ b/toolkit-docs-generator/README.md @@ -84,8 +84,8 @@ Generate a single toolkit: ```bash pnpm dlx tsx src/cli/index.ts generate \ --providers "Github:1.0.0" \ - --engine-api-url "$ENGINE_API_URL" \ - --engine-api-key "$ENGINE_API_KEY" \ + --tool-metadata-url "$ENGINE_API_URL" \ + --tool-metadata-key "$ENGINE_API_KEY" \ --llm-provider openai \ --llm-model gpt-4.1-mini \ --llm-api-key "$OPENAI_API_KEY" \ @@ -98,8 +98,8 @@ Generate all toolkits: pnpm dlx tsx src/cli/index.ts generate \ --all \ --skip-unchanged \ - --engine-api-url "$ENGINE_API_URL" \ - --engine-api-key "$ENGINE_API_KEY" \ + --tool-metadata-url "$ENGINE_API_URL" \ + --tool-metadata-key "$ENGINE_API_KEY" \ --llm-provider openai \ --llm-model gpt-4.1-mini \ --llm-api-key "$OPENAI_API_KEY" \ @@ -111,8 +111,8 @@ Generate without LLM output: ```bash pnpm dlx tsx src/cli/index.ts generate \ --providers "Asana:0.1.3" \ - --engine-api-url "$ENGINE_API_URL" \ - --engine-api-key "$ENGINE_API_KEY" \ + --tool-metadata-url "$ENGINE_API_URL" \ + --tool-metadata-key "$ENGINE_API_KEY" \ --skip-examples \ --skip-summary \ --skip-overview \ diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index a1406ec33..e223e87d4 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -20,6 +20,8 @@ test("porter workflow includes required triggers", () => { test("porter workflow generates docs and opens a PR", () => { expect(workflowContents).toContain("pnpm dlx tsx src/cli/index.ts generate"); expect(workflowContents).toContain("--skip-unchanged"); + expect(workflowContents).toContain("--tool-metadata-url"); + expect(workflowContents).toContain("--tool-metadata-key"); expect(workflowContents).toContain("peter-evans/create-pull-request"); expect(workflowContents).toContain("pull-requests: write"); }); From 834905938c194c3d18b11d971293102ea2a43ba8 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 16:03:45 -0300 Subject: [PATCH 04/22] updatint worfklow for better feedback --- .github/workflows/generate-toolkit-docs.yml | 1 + toolkit-docs-generator/src/cli/index.ts | 469 +++++++++++++++++- .../workflows/generate-toolkit-docs.test.ts | 1 + 3 files changed, 446 insertions(+), 25 deletions(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index 4b5d4ed7f..9f778c911 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -46,6 +46,7 @@ jobs: pnpm dlx tsx src/cli/index.ts generate \ --all \ --skip-unchanged \ + --verbose \ --tool-metadata-url "$ENGINE_API_URL" \ --tool-metadata-key "$ENGINE_API_KEY" \ --llm-provider openai \ diff --git a/toolkit-docs-generator/src/cli/index.ts b/toolkit-docs-generator/src/cli/index.ts index 19dfa7768..c32ef766e 100644 --- a/toolkit-docs-generator/src/cli/index.ts +++ b/toolkit-docs-generator/src/cli/index.ts @@ -72,9 +72,12 @@ type ApiSource = "list-tools" | "tool-metadata" | "mock"; import { type MergedToolkit, + MergedToolkitAuthSchema, + MergedToolkitMetadataSchema, MergedToolkitSchema, type ProviderVersion, ProviderVersionSchema, + ToolDefinitionSchema, } from "../types/index.js"; const program = new Command(); @@ -610,49 +613,262 @@ const createToolkitDataSourceForApi = ( const normalizeToolkitKey = (toolkitId: string): string => toolkitId.toLowerCase(); +interface PreviousToolkitLoadStats { + scannedFiles: number; + loadedFiles: number; + fallbackFiles: number; + missingFiles: number; + failedFiles: string[]; +} + +interface PreviousToolkitLoadResult { + toolkits: ReadonlyMap; + stats: PreviousToolkitLoadStats; +} + +const createPreviousToolkitLoadStats = (): PreviousToolkitLoadStats => ({ + scannedFiles: 0, + loadedFiles: 0, + fallbackFiles: 0, + missingFiles: 0, + failedFiles: [], +}); + +const DEFAULT_PREVIOUS_TOOLKIT_METADATA = { + category: "development" as const, + iconUrl: "", + isBYOC: false, + isPro: false, + type: "arcade" as const, + docsLink: "", + isComingSoon: false, + isHidden: false, +}; + +const toRecord = (value: unknown): Record | null => + typeof value === "object" && value !== null && !Array.isArray(value) + ? (value as Record) + : null; + +const getFileStem = (filePath: string): string => { + const fileName = filePath.split("/").pop() ?? "unknown.json"; + return fileName.replace(/\.json$/i, ""); +}; + +const getVersionFromFullyQualifiedName = ( + fullyQualifiedName: string | undefined +): string | undefined => { + if (!fullyQualifiedName) return; + const version = fullyQualifiedName.split("@")[1]; + return version && version.length > 0 ? version : undefined; +}; + +const buildToolkitForDiffFromRaw = ( + payload: unknown, + fallbackId: string +): { + toolkit: MergedToolkit | null; + usedFallback: boolean; + reason?: string; +} => { + const strictResult = MergedToolkitSchema.safeParse(payload); + if (strictResult.success) { + return { toolkit: strictResult.data, usedFallback: false }; + } + + const record = toRecord(payload); + if (!record) { + return { + toolkit: null, + usedFallback: true, + reason: "Previous output file is not a JSON object", + }; + } + + const toolkitId = + typeof record.id === "string" && record.id.length > 0 + ? record.id + : fallbackId; + const label = + typeof record.label === "string" && record.label.length > 0 + ? record.label + : toolkitId; + const description = + typeof record.description === "string" ? record.description : null; + + const firstIssue = strictResult.error.issues[0]; + const fallbackReason = firstIssue + ? `${firstIssue.path.join(".")}: ${firstIssue.message}` + : strictResult.error.message; + + const rawTools = Array.isArray(record.tools) ? record.tools : []; + const tools = rawTools.flatMap((rawTool) => { + const parsedTool = ToolDefinitionSchema.safeParse(rawTool); + if (!parsedTool.success) { + return []; + } + return [ + { + ...parsedTool.data, + secretsInfo: [], + documentationChunks: [], + }, + ]; + }); + + const versionFromTools = getVersionFromFullyQualifiedName( + tools[0]?.fullyQualifiedName + ); + const version = + typeof record.version === "string" && record.version.length > 0 + ? record.version + : (versionFromTools ?? "0.0.0"); + + const metadataResult = MergedToolkitMetadataSchema.safeParse(record.metadata); + const authResult = MergedToolkitAuthSchema.safeParse(record.auth); + const summary = + typeof record.summary === "string" ? record.summary : undefined; + const generatedAt = + typeof record.generatedAt === "string" ? record.generatedAt : undefined; + + return { + toolkit: { + id: toolkitId, + label, + version, + description, + ...(summary ? { summary } : {}), + metadata: metadataResult.success + ? metadataResult.data + : DEFAULT_PREVIOUS_TOOLKIT_METADATA, + auth: authResult.success ? authResult.data : null, + tools, + documentationChunks: [], + customImports: [], + subPages: [], + ...(generatedAt ? { generatedAt } : {}), + }, + usedFallback: true, + reason: fallbackReason, + }; +}; + +interface PreviousToolkitLoadOutcome { + toolkit: MergedToolkit | null; + missing: boolean; + usedFallback: boolean; + reason?: string; +} + const loadPreviousToolkit = async ( filePath: string -): Promise => { +): Promise => { try { const content = await readFile(filePath, "utf-8"); const parsed = JSON.parse(content) as unknown; - const result = MergedToolkitSchema.safeParse(parsed); - if (!result.success) { - return null; + const parsedToolkit = buildToolkitForDiffFromRaw( + parsed, + getFileStem(filePath) + ); + return { + toolkit: parsedToolkit.toolkit, + missing: false, + usedFallback: parsedToolkit.usedFallback, + ...(parsedToolkit.reason ? { reason: parsedToolkit.reason } : {}), + }; + } catch (error) { + const errorWithCode = + error && typeof error === "object" && "code" in error + ? (error as { code?: string }) + : undefined; + if (errorWithCode?.code === "ENOENT") { + return { + toolkit: null, + missing: true, + usedFallback: false, + }; } - return result.data; - } catch { - return null; + + return { + toolkit: null, + missing: false, + usedFallback: false, + reason: error instanceof Error ? error.message : String(error), + }; } }; +const formatPreviousToolkitLoadStats = ( + stats: PreviousToolkitLoadStats +): string => + [ + `${stats.scannedFiles} scanned`, + `${stats.loadedFiles} loaded`, + `${stats.fallbackFiles} fallback`, + `${stats.missingFiles} missing`, + `${stats.failedFiles.length} failed`, + ].join(", "); + const loadPreviousToolkitsForProviders = async ( dir: string, providers: ProviderVersion[], verbose: boolean -): Promise> => { +): Promise => { const previousToolkits = new Map(); + const stats = createPreviousToolkitLoadStats(); for (const provider of providers) { + stats.scannedFiles += 1; const filePath = join(dir, `${provider.provider.toLowerCase()}.json`); - const toolkit = await loadPreviousToolkit(filePath); - if (toolkit) { - previousToolkits.set(normalizeToolkitKey(toolkit.id), toolkit); - } else if (verbose) { + const loaded = await loadPreviousToolkit(filePath); + + if (loaded.toolkit) { + previousToolkits.set( + normalizeToolkitKey(loaded.toolkit.id), + loaded.toolkit + ); + stats.loadedFiles += 1; + if (loaded.usedFallback) { + stats.fallbackFiles += 1; + if (verbose) { + console.log( + chalk.dim( + `Loaded ${provider.provider} with fallback parser (${loaded.reason ?? "schema mismatch"}).` + ) + ); + } + } + continue; + } + + if (loaded.missing) { + stats.missingFiles += 1; + if (verbose) { + console.log( + chalk.dim(`No previous output found for ${provider.provider}.`) + ); + } + continue; + } + + const failure = `${provider.provider}: ${loaded.reason ?? "unable to parse previous output"}`; + stats.failedFiles.push(failure); + if (verbose) { console.log( - chalk.dim(`No previous output found for ${provider.provider}.`) + chalk.dim(`Failed to parse previous output for ${provider.provider}.`) ); } } - return previousToolkits; + return { toolkits: previousToolkits, stats }; }; const loadPreviousToolkitsFromDir = async ( dir: string, verbose: boolean -): Promise> => { +): Promise => { const previousToolkits = new Map(); + const stats = createPreviousToolkitLoadStats(); try { const entries = await readdir(dir); @@ -661,11 +877,36 @@ const loadPreviousToolkitsFromDir = async ( ); for (const fileName of jsonFiles) { + stats.scannedFiles += 1; const filePath = join(dir, fileName); - const toolkit = await loadPreviousToolkit(filePath); - if (toolkit) { - previousToolkits.set(normalizeToolkitKey(toolkit.id), toolkit); + const loaded = await loadPreviousToolkit(filePath); + if (loaded.toolkit) { + previousToolkits.set( + normalizeToolkitKey(loaded.toolkit.id), + loaded.toolkit + ); + stats.loadedFiles += 1; + if (loaded.usedFallback) { + stats.fallbackFiles += 1; + if (verbose) { + console.log( + chalk.dim( + `Loaded ${fileName} with fallback parser (${loaded.reason ?? "schema mismatch"}).` + ) + ); + } + } + continue; } + + if (loaded.missing) { + stats.missingFiles += 1; + continue; + } + + stats.failedFiles.push( + `${fileName}: ${loaded.reason ?? "unable to parse previous output"}` + ); } } catch (error) { if (verbose) { @@ -673,7 +914,7 @@ const loadPreviousToolkitsFromDir = async ( } } - return previousToolkits; + return { toolkits: previousToolkits, stats }; }; const processProviders = async ( @@ -1032,7 +1273,7 @@ program ? undefined : (options.previousOutput ?? (options.overwriteOutput ? undefined : options.output)); - const previousToolkits = previousOutputDir + const previousToolkitLoad = previousOutputDir ? runAll ? await loadPreviousToolkitsFromDir( previousOutputDir, @@ -1044,6 +1285,28 @@ program options.verbose ) : undefined; + const previousToolkits = previousToolkitLoad?.toolkits; + if (previousToolkitLoad) { + if (options.verbose) { + console.log( + chalk.dim( + `Loaded previous output: ${formatPreviousToolkitLoadStats(previousToolkitLoad.stats)}` + ) + ); + } + if (previousToolkitLoad.stats.failedFiles.length > 0) { + console.log( + chalk.yellow( + `⚠ Skipped ${previousToolkitLoad.stats.failedFiles.length} previous toolkit file(s) during diffing.` + ) + ); + if (options.verbose) { + for (const failure of previousToolkitLoad.stats.failedFiles) { + console.log(chalk.dim(` - ${failure}`)); + } + } + } + } // Custom sections source const customSectionsSource = options.customSections @@ -1097,8 +1360,17 @@ program spinner.start("Detecting changes in tool definitions..."); // Fetch all current tools + const fetchStartedAt = Date.now(); const currentToolkitsData = await toolkitDataSource.fetchAllToolkitsData(); + const fetchDurationMs = Date.now() - fetchStartedAt; + if (options.verbose) { + console.log( + chalk.dim( + ` Fetched ${currentToolkitsData.size} toolkit(s) from ${apiSource} in ${fetchDurationMs}ms` + ) + ); + } // Build map of toolkit ID -> tools for comparison const currentToolkitTools = new Map< @@ -1110,10 +1382,19 @@ program } // Detect changes + const compareStartedAt = Date.now(); const detectedChanges = detectChanges( currentToolkitTools, previousToolkits ?? new Map() ); + const compareDurationMs = Date.now() - compareStartedAt; + if (options.verbose) { + console.log( + chalk.dim( + ` Compared ${currentToolkitTools.size} current toolkit(s) against ${previousToolkits?.size ?? 0} previous toolkit(s) in ${compareDurationMs}ms` + ) + ); + } if (!hasChanges(detectedChanges)) { spinner.succeed( @@ -1140,15 +1421,24 @@ program const changedIds = getChangedToolkitIds(detectedChanges); changedToolkitIds = new Set(changedIds.map((id) => id.toLowerCase())); changeResult = detectedChanges; + const changedPreview = + changedIds.length <= 20 + ? changedIds.join(", ") + : `${changedIds.slice(0, 20).join(", ")} ... +${changedIds.length - 20} more`; spinner.succeed( - `Detected ${changedIds.length} changed toolkit(s): ${changedIds.join(", ")}` + `Detected ${changedIds.length} changed toolkit(s): ${changedPreview}` ); if (options.verbose) { console.log( chalk.dim(` Summary: ${formatChangeSummary(detectedChanges)}`) ); + if (changedIds.length > 20) { + console.log( + chalk.dim(` Full changed list: ${changedIds.join(", ")}`) + ); + } } } @@ -1214,8 +1504,18 @@ program if (runAll) { // First, get the toolkit count to set up progress tracking spinner.start("Fetching toolkit list..."); + const fetchToolkitListStartedAt = Date.now(); const toolkitList = await toolkitDataSource.fetchAllToolkitsData(); + const fetchToolkitListDurationMs = + Date.now() - fetchToolkitListStartedAt; const totalToolkits = toolkitList.size; + if (options.verbose) { + console.log( + chalk.dim( + ` Toolkit list fetched in ${fetchToolkitListDurationMs}ms (${totalToolkits} toolkit(s))` + ) + ); + } // If --skip-unchanged, only process changed toolkits // Add unchanged toolkits to skipToolkitIds @@ -1242,6 +1542,18 @@ program spinner.succeed( `Found ${totalToolkits} toolkit(s), ${toProcess} to process ${skipReason}`.trim() ); + if (options.verbose) { + console.log( + chalk.dim( + ` Starting merge with toolkitConcurrency=${options.toolkitConcurrency ?? 3}, llmConcurrency=${options.llmConcurrency ?? 5}` + ) + ); + console.log( + chalk.dim( + ` LLM steps: examples=${needsExamples}, summary=${needsSummary}, overview=${needsOverview}` + ) + ); + } // Set up progress tracker const progressTracker = createProgressTracker({ @@ -1673,12 +1985,34 @@ program ? undefined : (options.previousOutput ?? (options.overwriteOutput ? undefined : options.output)); - const previousToolkits = previousOutputDir + const previousToolkitLoad = previousOutputDir ? await loadPreviousToolkitsFromDir( previousOutputDir, options.verbose ) : undefined; + const previousToolkits = previousToolkitLoad?.toolkits; + if (previousToolkitLoad) { + if (options.verbose) { + console.log( + chalk.dim( + `Loaded previous output: ${formatPreviousToolkitLoadStats(previousToolkitLoad.stats)}` + ) + ); + } + if (previousToolkitLoad.stats.failedFiles.length > 0) { + console.log( + chalk.yellow( + `⚠ Skipped ${previousToolkitLoad.stats.failedFiles.length} previous toolkit file(s) during diffing.` + ) + ); + if (options.verbose) { + for (const failure of previousToolkitLoad.stats.failedFiles) { + console.log(chalk.dim(` - ${failure}`)); + } + } + } + } const customSectionsSource = options.customSections ? createCustomSectionsFileSource(options.customSections) @@ -1752,9 +2086,19 @@ program // First, get the toolkit count to set up progress tracking spinner.start("Fetching toolkit list..."); + const fetchToolkitListStartedAt = Date.now(); const toolkitList = await toolkitDataSource.fetchAllToolkitsData(); + const fetchToolkitListDurationMs = + Date.now() - fetchToolkitListStartedAt; const totalToolkits = toolkitList.size; const toProcess = totalToolkits - skipToolkitIds.size; + if (options.verbose) { + console.log( + chalk.dim( + ` Toolkit list fetched in ${fetchToolkitListDurationMs}ms (${totalToolkits} toolkit(s))` + ) + ); + } if (toProcess === 0) { spinner.succeed(`All ${totalToolkits} toolkit(s) already complete`); @@ -1762,6 +2106,18 @@ program spinner.succeed( `Found ${totalToolkits} toolkit(s), ${toProcess} to process${skipToolkitIds.size > 0 ? ` (${skipToolkitIds.size} skipped)` : ""}` ); + if (options.verbose) { + console.log( + chalk.dim( + ` Starting merge with toolkitConcurrency=${options.toolkitConcurrency ?? 3}, llmConcurrency=${options.llmConcurrency ?? 5}` + ) + ); + console.log( + chalk.dim( + ` LLM steps: examples=${needsExamples}, summary=${needsSummary}, overview=${needsOverview}` + ) + ); + } // Set up progress tracker const progressTracker = createProgressTracker({ @@ -2081,8 +2437,10 @@ program // Fetch current data from API spinner.text = "Fetching current tool definitions from API..."; + const fetchStartedAt = Date.now(); const currentToolkitsData = await toolkitDataSource.fetchAllToolkitsData(); + const fetchDurationMs = Date.now() - fetchStartedAt; // Build map of toolkit ID -> tools const currentToolkitTools = new Map< @@ -2095,25 +2453,68 @@ program // Load previous output spinner.text = "Loading previous output..."; - const previousToolkits = await loadPreviousToolkitsFromDir( + const loadPreviousStartedAt = Date.now(); + const previousToolkitLoad = await loadPreviousToolkitsFromDir( resolve(options.output), - false + options.verbose ); + const loadPreviousDurationMs = Date.now() - loadPreviousStartedAt; + const previousToolkits = previousToolkitLoad.toolkits; // Detect changes spinner.text = "Comparing tool definitions..."; + const compareStartedAt = Date.now(); const changeResult = detectChanges( currentToolkitTools, previousToolkits ); + const compareDurationMs = Date.now() - compareStartedAt; spinner.stop(); + if (options.verbose) { + console.log(chalk.dim("\nDiagnostics:")); + console.log( + chalk.dim( + ` Fetched ${currentToolkitTools.size} current toolkit(s) in ${fetchDurationMs}ms` + ) + ); + console.log( + chalk.dim( + ` Loaded previous output in ${loadPreviousDurationMs}ms (${formatPreviousToolkitLoadStats(previousToolkitLoad.stats)})` + ) + ); + console.log( + chalk.dim(` Compared signatures in ${compareDurationMs}ms`) + ); + if (previousToolkitLoad.stats.failedFiles.length > 0) { + console.log( + chalk.yellow( + ` ⚠ ${previousToolkitLoad.stats.failedFiles.length} previous file(s) could not be parsed and were excluded from diffing.` + ) + ); + for (const failure of previousToolkitLoad.stats.failedFiles) { + console.log(chalk.dim(` - ${failure}`)); + } + } + console.log(); + } else if (previousToolkitLoad.stats.failedFiles.length > 0) { + console.log( + chalk.yellow( + `⚠ Excluded ${previousToolkitLoad.stats.failedFiles.length} previous toolkit file(s) from diffing. Run with --verbose for details.` + ) + ); + } + await appendLogEntry(logPaths.runLogPath, { title: "check-changes", details: [ `output=${resolve(options.output)}`, `apiSource=${apiSource}`, + `fetchDurationMs=${fetchDurationMs}`, + `loadPreviousDurationMs=${loadPreviousDurationMs}`, + `compareDurationMs=${compareDurationMs}`, + `previousLoadStats=${formatPreviousToolkitLoadStats(previousToolkitLoad.stats)}`, ...buildChangeLogDetails(changeResult), ], }); @@ -2124,7 +2525,25 @@ program // Output results if (options.json) { - console.log(JSON.stringify(changeResult, null, 2)); + console.log( + JSON.stringify( + { + ...changeResult, + diagnostics: { + currentToolkitCount: currentToolkitTools.size, + previousToolkitCount: previousToolkits.size, + previousLoad: previousToolkitLoad.stats, + timingMs: { + fetch: fetchDurationMs, + loadPrevious: loadPreviousDurationMs, + compare: compareDurationMs, + }, + }, + }, + null, + 2 + ) + ); } else { console.log(chalk.bold("\n📋 Change Detection Results\n")); diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index e223e87d4..4b835ce05 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -20,6 +20,7 @@ test("porter workflow includes required triggers", () => { test("porter workflow generates docs and opens a PR", () => { expect(workflowContents).toContain("pnpm dlx tsx src/cli/index.ts generate"); expect(workflowContents).toContain("--skip-unchanged"); + expect(workflowContents).toContain("--verbose"); expect(workflowContents).toContain("--tool-metadata-url"); expect(workflowContents).toContain("--tool-metadata-key"); expect(workflowContents).toContain("peter-evans/create-pull-request"); From 3958c0064086f39db7078becb8cc185a8f28fb93 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 16:41:20 -0300 Subject: [PATCH 05/22] fixing matching checks errors --- toolkit-docs-generator/src/cli/index.ts | 121 +------- .../src/diff/previous-output.ts | 291 ++++++++++++++++++ .../tests/diff/previous-output.test.ts | 183 +++++++++++ 3 files changed, 476 insertions(+), 119 deletions(-) create mode 100644 toolkit-docs-generator/src/diff/previous-output.ts create mode 100644 toolkit-docs-generator/tests/diff/previous-output.test.ts diff --git a/toolkit-docs-generator/src/cli/index.ts b/toolkit-docs-generator/src/cli/index.ts index c32ef766e..4e5246c77 100644 --- a/toolkit-docs-generator/src/cli/index.ts +++ b/toolkit-docs-generator/src/cli/index.ts @@ -23,6 +23,7 @@ import { getChangedToolkitIds, hasChanges, } from "../diff/index.js"; +import { parsePreviousToolkitForDiff } from "../diff/previous-output.js"; import { createJsonGenerator, type VerificationProgress, @@ -72,12 +73,8 @@ type ApiSource = "list-tools" | "tool-metadata" | "mock"; import { type MergedToolkit, - MergedToolkitAuthSchema, - MergedToolkitMetadataSchema, - MergedToolkitSchema, type ProviderVersion, ProviderVersionSchema, - ToolDefinitionSchema, } from "../types/index.js"; const program = new Command(); @@ -634,125 +631,11 @@ const createPreviousToolkitLoadStats = (): PreviousToolkitLoadStats => ({ failedFiles: [], }); -const DEFAULT_PREVIOUS_TOOLKIT_METADATA = { - category: "development" as const, - iconUrl: "", - isBYOC: false, - isPro: false, - type: "arcade" as const, - docsLink: "", - isComingSoon: false, - isHidden: false, -}; - -const toRecord = (value: unknown): Record | null => - typeof value === "object" && value !== null && !Array.isArray(value) - ? (value as Record) - : null; - const getFileStem = (filePath: string): string => { const fileName = filePath.split("/").pop() ?? "unknown.json"; return fileName.replace(/\.json$/i, ""); }; -const getVersionFromFullyQualifiedName = ( - fullyQualifiedName: string | undefined -): string | undefined => { - if (!fullyQualifiedName) return; - const version = fullyQualifiedName.split("@")[1]; - return version && version.length > 0 ? version : undefined; -}; - -const buildToolkitForDiffFromRaw = ( - payload: unknown, - fallbackId: string -): { - toolkit: MergedToolkit | null; - usedFallback: boolean; - reason?: string; -} => { - const strictResult = MergedToolkitSchema.safeParse(payload); - if (strictResult.success) { - return { toolkit: strictResult.data, usedFallback: false }; - } - - const record = toRecord(payload); - if (!record) { - return { - toolkit: null, - usedFallback: true, - reason: "Previous output file is not a JSON object", - }; - } - - const toolkitId = - typeof record.id === "string" && record.id.length > 0 - ? record.id - : fallbackId; - const label = - typeof record.label === "string" && record.label.length > 0 - ? record.label - : toolkitId; - const description = - typeof record.description === "string" ? record.description : null; - - const firstIssue = strictResult.error.issues[0]; - const fallbackReason = firstIssue - ? `${firstIssue.path.join(".")}: ${firstIssue.message}` - : strictResult.error.message; - - const rawTools = Array.isArray(record.tools) ? record.tools : []; - const tools = rawTools.flatMap((rawTool) => { - const parsedTool = ToolDefinitionSchema.safeParse(rawTool); - if (!parsedTool.success) { - return []; - } - return [ - { - ...parsedTool.data, - secretsInfo: [], - documentationChunks: [], - }, - ]; - }); - - const versionFromTools = getVersionFromFullyQualifiedName( - tools[0]?.fullyQualifiedName - ); - const version = - typeof record.version === "string" && record.version.length > 0 - ? record.version - : (versionFromTools ?? "0.0.0"); - - const metadataResult = MergedToolkitMetadataSchema.safeParse(record.metadata); - const authResult = MergedToolkitAuthSchema.safeParse(record.auth); - const summary = - typeof record.summary === "string" ? record.summary : undefined; - const generatedAt = - typeof record.generatedAt === "string" ? record.generatedAt : undefined; - - return { - toolkit: { - id: toolkitId, - label, - version, - description, - ...(summary ? { summary } : {}), - metadata: metadataResult.success - ? metadataResult.data - : DEFAULT_PREVIOUS_TOOLKIT_METADATA, - auth: authResult.success ? authResult.data : null, - tools, - documentationChunks: [], - customImports: [], - subPages: [], - ...(generatedAt ? { generatedAt } : {}), - }, - usedFallback: true, - reason: fallbackReason, - }; -}; - interface PreviousToolkitLoadOutcome { toolkit: MergedToolkit | null; missing: boolean; @@ -766,7 +649,7 @@ const loadPreviousToolkit = async ( try { const content = await readFile(filePath, "utf-8"); const parsed = JSON.parse(content) as unknown; - const parsedToolkit = buildToolkitForDiffFromRaw( + const parsedToolkit = parsePreviousToolkitForDiff( parsed, getFileStem(filePath) ); diff --git a/toolkit-docs-generator/src/diff/previous-output.ts b/toolkit-docs-generator/src/diff/previous-output.ts new file mode 100644 index 000000000..f07ec7305 --- /dev/null +++ b/toolkit-docs-generator/src/diff/previous-output.ts @@ -0,0 +1,291 @@ +import { + type MergedToolkit, + MergedToolkitAuthSchema, + MergedToolkitMetadataSchema, + MergedToolkitSchema, + type ToolDefinition, + ToolDefinitionSchema, +} from "../types/index.js"; + +const DEFAULT_PREVIOUS_TOOLKIT_METADATA = { + category: "development" as const, + iconUrl: "", + isBYOC: false, + isPro: false, + type: "arcade" as const, + docsLink: "", + isComingSoon: false, + isHidden: false, +}; + +const toRecord = (value: unknown): Record | null => + typeof value === "object" && value !== null && !Array.isArray(value) + ? (value as Record) + : null; + +const toStringOrNull = (value: unknown): string | null => + typeof value === "string" ? value : null; + +const toStringArray = (value: unknown): string[] => + Array.isArray(value) + ? value.flatMap((item) => (typeof item === "string" ? [item] : [])) + : []; + +const deriveQualifiedName = ( + raw: Record, + fallbackToolkitId: string, + fallbackIndex: number +): string => { + const qualifiedName = raw.qualifiedName; + if (typeof qualifiedName === "string" && qualifiedName.length > 0) { + return qualifiedName; + } + + const fullyQualifiedName = raw.fullyQualifiedName; + if (typeof fullyQualifiedName === "string" && fullyQualifiedName.length > 0) { + return ( + fullyQualifiedName.split("@")[0] ?? + `${fallbackToolkitId}.Tool${fallbackIndex}` + ); + } + + const name = raw.name; + if (typeof name === "string" && name.length > 0) { + return `${fallbackToolkitId}.${name}`; + } + + return `${fallbackToolkitId}.Tool${fallbackIndex}`; +}; + +const deriveVersion = ( + raw: Record, + fallbackVersion: string +): string => { + const fullyQualifiedName = raw.fullyQualifiedName; + if ( + typeof fullyQualifiedName !== "string" || + fullyQualifiedName.length === 0 + ) { + return fallbackVersion; + } + const version = fullyQualifiedName.split("@")[1]; + return version && version.length > 0 ? version : fallbackVersion; +}; + +const normalizeParameter = ( + value: unknown +): ToolDefinition["parameters"][number] | null => { + const record = toRecord(value); + if (!record) return null; + + const name = record.name; + if (typeof name !== "string" || name.length === 0) { + return null; + } + + const enumValues = Array.isArray(record.enum) + ? toStringArray(record.enum) + : null; + + return { + name, + type: typeof record.type === "string" ? record.type : "string", + ...(typeof record.innerType === "string" + ? { innerType: record.innerType } + : {}), + required: Boolean(record.required), + description: toStringOrNull(record.description), + enum: enumValues, + inferrable: + typeof record.inferrable === "boolean" ? record.inferrable : true, + }; +}; + +const normalizeAuth = (value: unknown): ToolDefinition["auth"] => { + const record = toRecord(value); + if (!record) return null; + + const providerType = + typeof record.providerType === "string" + ? record.providerType + : typeof record.provider_type === "string" + ? record.provider_type + : null; + + if (!providerType) { + return null; + } + + const providerId = + typeof record.providerId === "string" + ? record.providerId + : typeof record.provider_id === "string" + ? record.provider_id + : null; + + return { + providerId, + providerType, + scopes: toStringArray(record.scopes), + }; +}; + +const normalizeOutput = (value: unknown): ToolDefinition["output"] => { + if (value == null) return null; + const record = toRecord(value); + if (!record) return null; + + const outputType = + typeof record.type === "string" + ? record.type + : (() => { + const valueSchema = toRecord(record.value_schema); + return valueSchema && typeof valueSchema.val_type === "string" + ? valueSchema.val_type + : "unknown"; + })(); + + return { + type: outputType, + description: toStringOrNull(record.description), + }; +}; + +const normalizeTool = ( + value: unknown, + toolkitId: string, + toolkitVersion: string, + fallbackIndex: number +): ToolDefinition | null => { + const record = toRecord(value); + if (!record) return null; + + const qualifiedName = deriveQualifiedName(record, toolkitId, fallbackIndex); + const toolName = + typeof record.name === "string" && record.name.length > 0 + ? record.name + : (qualifiedName.split(".").at(-1) ?? `Tool${fallbackIndex}`); + const toolVersion = deriveVersion(record, toolkitVersion); + + const candidate: ToolDefinition = { + name: toolName, + qualifiedName, + fullyQualifiedName: + typeof record.fullyQualifiedName === "string" && + record.fullyQualifiedName.length > 0 + ? record.fullyQualifiedName + : `${qualifiedName}@${toolVersion}`, + description: toStringOrNull(record.description), + toolkitDescription: toStringOrNull(record.toolkitDescription), + parameters: Array.isArray(record.parameters) + ? record.parameters.flatMap((parameter) => { + const normalized = normalizeParameter(parameter); + return normalized ? [normalized] : []; + }) + : [], + auth: normalizeAuth(record.auth), + secrets: toStringArray(record.secrets), + output: normalizeOutput(record.output), + }; + + const parsed = ToolDefinitionSchema.safeParse(candidate); + return parsed.success ? parsed.data : null; +}; + +const getVersionFromTool = ( + tool: ToolDefinition | undefined +): string | undefined => { + if (!tool) return; + const version = tool.fullyQualifiedName.split("@")[1]; + return version && version.length > 0 ? version : undefined; +}; + +export type PreviousToolkitParseResult = { + toolkit: MergedToolkit | null; + usedFallback: boolean; + reason?: string; +}; + +export const parsePreviousToolkitForDiff = ( + payload: unknown, + fallbackId: string +): PreviousToolkitParseResult => { + const strictResult = MergedToolkitSchema.safeParse(payload); + if (strictResult.success) { + return { toolkit: strictResult.data, usedFallback: false }; + } + + const record = toRecord(payload); + if (!record) { + return { + toolkit: null, + usedFallback: true, + reason: "Previous output file is not a JSON object", + }; + } + + const toolkitId = + typeof record.id === "string" && record.id.length > 0 + ? record.id + : fallbackId; + const label = + typeof record.label === "string" && record.label.length > 0 + ? record.label + : toolkitId; + const description = toStringOrNull(record.description); + + const firstIssue = strictResult.error.issues[0]; + const fallbackReason = firstIssue + ? `${firstIssue.path.join(".")}: ${firstIssue.message}` + : strictResult.error.message; + + const declaredVersion = + typeof record.version === "string" && record.version.length > 0 + ? record.version + : "0.0.0"; + + const rawTools = Array.isArray(record.tools) ? record.tools : []; + const tools = rawTools.flatMap((rawTool, index) => { + const normalized = normalizeTool( + rawTool, + toolkitId, + declaredVersion, + index + 1 + ); + return normalized ? [normalized] : []; + }); + + const version = getVersionFromTool(tools[0]) ?? declaredVersion; + + const metadataResult = MergedToolkitMetadataSchema.safeParse(record.metadata); + const authResult = MergedToolkitAuthSchema.safeParse(record.auth); + const summary = + typeof record.summary === "string" ? record.summary : undefined; + const generatedAt = + typeof record.generatedAt === "string" ? record.generatedAt : undefined; + + return { + toolkit: { + id: toolkitId, + label, + version, + description, + ...(summary ? { summary } : {}), + metadata: metadataResult.success + ? metadataResult.data + : DEFAULT_PREVIOUS_TOOLKIT_METADATA, + auth: authResult.success ? authResult.data : null, + tools: tools.map((tool) => ({ + ...tool, + secretsInfo: [], + documentationChunks: [], + })), + documentationChunks: [], + customImports: [], + subPages: [], + ...(generatedAt ? { generatedAt } : {}), + }, + usedFallback: true, + reason: fallbackReason, + }; +}; diff --git a/toolkit-docs-generator/tests/diff/previous-output.test.ts b/toolkit-docs-generator/tests/diff/previous-output.test.ts new file mode 100644 index 000000000..402659fcf --- /dev/null +++ b/toolkit-docs-generator/tests/diff/previous-output.test.ts @@ -0,0 +1,183 @@ +import { describe, expect, it } from "vitest"; + +import { parsePreviousToolkitForDiff } from "../../src/diff/previous-output.js"; +import type { MergedToolkit } from "../../src/types/index.js"; + +const createValidToolkit = (): MergedToolkit => ({ + id: "Github", + label: "GitHub", + version: "1.0.0", + description: "GitHub toolkit", + metadata: { + category: "development", + iconUrl: "https://example.com/github.svg", + isBYOC: false, + isPro: false, + type: "arcade", + docsLink: "https://docs.example.com/github", + isComingSoon: false, + isHidden: false, + }, + auth: null, + tools: [ + { + name: "CreateIssue", + qualifiedName: "Github.CreateIssue", + fullyQualifiedName: "Github.CreateIssue@1.0.0", + description: null, + toolkitDescription: null, + parameters: [ + { + name: "title", + type: "string", + required: true, + description: "Issue title", + enum: null, + inferrable: true, + }, + ], + auth: null, + secrets: [], + output: { + type: "json", + description: null, + }, + secretsInfo: [], + documentationChunks: [], + }, + ], + documentationChunks: [], + customImports: [], + subPages: [], + generatedAt: "2026-01-01T00:00:00.000Z", +}); + +describe("parsePreviousToolkitForDiff", () => { + it("uses strict parsing when previous output already matches schema", () => { + const result = parsePreviousToolkitForDiff(createValidToolkit(), "github"); + + expect(result.usedFallback).toBe(false); + expect(result.toolkit?.id).toBe("Github"); + expect(result.toolkit?.tools).toHaveLength(1); + }); + + it("falls back for legacy page fields and preserves tool signature fields", () => { + const result = parsePreviousToolkitForDiff( + { + id: "Jira", + label: "Jira", + version: "2.4.0", + description: "Jira toolkit", + metadata: { + category: "development", + iconUrl: "https://example.com/jira.svg", + isBYOC: false, + isPro: false, + type: "arcade", + docsLink: "https://docs.example.com/jira", + isComingSoon: false, + isHidden: false, + }, + auth: null, + tools: [ + { + name: "CreateIssue", + qualifiedName: "Jira.CreateIssue", + fullyQualifiedName: "Jira.CreateIssue@2.4.0", + description: null, + parameters: [ + { + name: "title", + type: "string", + required: true, + description: "Issue title", + enum: null, + }, + ], + auth: { + provider_type: "oauth2", + provider_id: null, + scopes: ["write:jira-work"], + }, + secrets: [], + output: { + value_schema: { + val_type: "json", + }, + }, + }, + ], + documentationChunks: [ + { + heading: "How to use Jira", + }, + ], + customImports: [{ component: "JiraOverview" }], + subPages: [{ slug: "advanced" }], + }, + "jira" + ); + + expect(result.usedFallback).toBe(true); + expect(result.toolkit?.id).toBe("Jira"); + expect(result.toolkit?.tools).toHaveLength(1); + expect(result.toolkit?.tools[0]?.output).toEqual({ + type: "json", + description: null, + }); + expect(result.toolkit?.tools[0]?.parameters[0]?.inferrable).toBe(true); + expect(result.toolkit?.tools[0]?.auth).toEqual({ + providerId: null, + providerType: "oauth2", + scopes: ["write:jira-work"], + }); + }); + + it("derives missing qualified names from toolkit and tool names", () => { + const result = parsePreviousToolkitForDiff( + { + id: "Notion", + label: "Notion", + version: "3.0.0", + description: null, + metadata: { + category: "productivity", + iconUrl: "https://example.com/notion.svg", + isBYOC: false, + isPro: false, + type: "arcade", + docsLink: "https://docs.example.com/notion", + isComingSoon: false, + isHidden: false, + }, + auth: null, + tools: [ + { + name: "CreatePage", + description: null, + parameters: [], + auth: null, + secrets: [], + output: null, + }, + ], + }, + "notion" + ); + + expect(result.usedFallback).toBe(true); + expect(result.toolkit?.tools).toHaveLength(1); + expect(result.toolkit?.tools[0]?.qualifiedName).toBe("Notion.CreatePage"); + expect(result.toolkit?.tools[0]?.fullyQualifiedName).toBe( + "Notion.CreatePage@3.0.0" + ); + }); + + it("returns null for non-object payloads", () => { + const result = parsePreviousToolkitForDiff("invalid-payload", "github"); + + expect(result.usedFallback).toBe(true); + expect(result.toolkit).toBeNull(); + expect(result.reason).toContain("not a JSON object"); + }); +}); From 934b32a6e9864cf2b2c51366caab13cbbab0222b Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 17:38:21 -0300 Subject: [PATCH 06/22] trying source agnostic compare approach --- .github/workflows/generate-toolkit-docs.yml | 1 + .../src/diff/toolkit-diff.ts | 82 ++++++- .../src/sources/tool-metadata-schema.ts | 28 ++- .../tests/diff/toolkit-diff.test.ts | 207 +++++++++++++++++- .../tests/scenarios/skip-unchanged.test.ts | 5 +- .../tests/sources/engine-api.test.ts | 82 ++++++- .../workflows/generate-toolkit-docs.test.ts | 1 + 7 files changed, 382 insertions(+), 24 deletions(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index 9f778c911..daea204cc 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -47,6 +47,7 @@ jobs: --all \ --skip-unchanged \ --verbose \ + --api-source tool-metadata \ --tool-metadata-url "$ENGINE_API_URL" \ --tool-metadata-key "$ENGINE_API_KEY" \ --llm-provider openai \ diff --git a/toolkit-docs-generator/src/diff/toolkit-diff.ts b/toolkit-docs-generator/src/diff/toolkit-diff.ts index d0993d666..58050bf05 100644 --- a/toolkit-docs-generator/src/diff/toolkit-diff.ts +++ b/toolkit-docs-generator/src/diff/toolkit-diff.ts @@ -5,7 +5,11 @@ * Used to determine which toolkits need regeneration. */ -import { buildToolSignature, extractVersion } from "../merger/data-merger.js"; +import { + buildToolSignatureInput, + extractVersion, + stableStringify, +} from "../merger/data-merger.js"; import type { MergedToolkit, ToolDefinition } from "../types/index.js"; // ============================================================================ @@ -77,8 +81,80 @@ export interface ChangeSummary { * Build a signature for a ToolDefinition (from API) * This is different from MergedTool signatures as it uses the raw API format */ +const normalizeOutputTypeForDiff = (value: string): string => + value === "unknown" ? "string" : value; + +type ToolSignatureInput = { + name: string; + qualifiedName: string; + description: string | null; + parameters: Array<{ + name: string; + type: string; + innerType: string | null; + required: boolean; + description: string | null; + enum: string[] | null; + inferrable: boolean; + }>; + auth: { + providerId: string | null; + providerType: string; + scopes: string[]; + } | null; + secrets: string[]; + output: { + type: string; + description: string | null; + } | null; +}; + +const normalizeToolSignatureInputForDiff = ( + tool: ToolDefinition | MergedToolkit["tools"][number] +): Record => { + const signatureInput = buildToolSignatureInput(tool) as ToolSignatureInput; + const parameters = signatureInput.parameters.map((parameter) => ({ + ...parameter, + // Parameter descriptions are not stable across /v1/tools and /v1/tool_metadata. + description: null, + // tool_metadata may emit [] while list-tools uses null for "no enum values". + enum: parameter.enum && parameter.enum.length > 0 ? parameter.enum : null, + })); + const auth = signatureInput.auth + ? { + ...signatureInput.auth, + // OAuth provider IDs can differ by endpoint shape; scopes/type are stable. + providerId: + signatureInput.auth.providerType === "oauth2" + ? null + : signatureInput.auth.providerId, + } + : null; + const output = signatureInput.output + ? { + ...signatureInput.output, + type: normalizeOutputTypeForDiff(signatureInput.output.type), + // Output descriptions are not stable across endpoints. + description: null, + } + : null; + + return { + ...signatureInput, + // Tool descriptions are documentation metadata and vary by source. + description: null, + parameters, + auth, + output, + }; +}; + +const buildDiffToolSignature = ( + tool: ToolDefinition | MergedToolkit["tools"][number] +): string => stableStringify(normalizeToolSignatureInputForDiff(tool)); + export const buildToolDefinitionSignature = (tool: ToolDefinition): string => - buildToolSignature(tool); + buildDiffToolSignature(tool); /** * Build a map of tool signatures for quick lookup @@ -101,7 +177,7 @@ const buildMergedToolSignatureMap = ( ): ReadonlyMap => { const map = new Map(); for (const tool of toolkit.tools) { - map.set(tool.qualifiedName, buildToolSignature(tool)); + map.set(tool.qualifiedName, buildDiffToolSignature(tool)); } return map; }; diff --git a/toolkit-docs-generator/src/sources/tool-metadata-schema.ts b/toolkit-docs-generator/src/sources/tool-metadata-schema.ts index 996b476a8..9fa794581 100644 --- a/toolkit-docs-generator/src/sources/tool-metadata-schema.ts +++ b/toolkit-docs-generator/src/sources/tool-metadata-schema.ts @@ -27,8 +27,8 @@ const ToolMetadataInputSchema = z.object({ const ToolMetadataOutputSchema = z .object({ - description: z.string().nullable(), - value_schema: ToolMetadataValueSchema.nullable(), + description: z.string().nullable().optional(), + value_schema: ToolMetadataValueSchema.nullable().optional(), }) .nullable() .optional(); @@ -115,6 +115,9 @@ export type ToolMetadataSummary = { }>; }; +const normalizeEnum = (values: string[] | null | undefined): string[] | null => + values && values.length > 0 ? values : null; + const transformParameter = ( apiParam: z.infer ): ToolParameter => ({ @@ -123,7 +126,7 @@ const transformParameter = ( innerType: apiParam.value_schema.inner_val_type ?? undefined, required: apiParam.required, description: apiParam.description, - enum: apiParam.value_schema.enum ?? null, + enum: normalizeEnum(apiParam.value_schema.enum), inferrable: apiParam.inferrable, }); @@ -144,6 +147,7 @@ export const transformToolMetadataItem = ( ): ToolDefinition => { // authorization is now an array; pick the first entry (most tools have 0 or 1) const authEntry = apiTool.requirements?.authorization?.[0] ?? null; + const providerType = authEntry?.provider_type ?? null; return { name: apiTool.name, @@ -152,17 +156,19 @@ export const transformToolMetadataItem = ( description: apiTool.description, toolkitDescription: apiTool.toolkit.description, parameters: apiTool.input.parameters.map(transformParameter), - auth: authEntry - ? { - providerId: authEntry.provider_id ?? null, - providerType: authEntry.provider_type ?? "unknown", - scopes: authEntry.scopes ?? [], - } - : null, + auth: + authEntry && providerType + ? { + providerId: authEntry.provider_id ?? null, + providerType, + scopes: authEntry.scopes ?? [], + } + : null, secrets: normalizeSecrets(apiTool.requirements?.secrets), output: apiTool.output ? { - type: apiTool.output.value_schema?.val_type ?? "unknown", + // Keep parity with /v1/tools normalization for source-agnostic diffs. + type: apiTool.output.value_schema?.val_type ?? "string", description: apiTool.output.description ?? null, } : null, diff --git a/toolkit-docs-generator/tests/diff/toolkit-diff.test.ts b/toolkit-docs-generator/tests/diff/toolkit-diff.test.ts index 3845d4ec6..2f9c6b580 100644 --- a/toolkit-docs-generator/tests/diff/toolkit-diff.test.ts +++ b/toolkit-docs-generator/tests/diff/toolkit-diff.test.ts @@ -173,7 +173,10 @@ describe("compareTools", () => { createToolDefinition({ name: "Tool1", qualifiedName: "TestKit.Tool1", - description: "Updated description", + output: { + type: "array", + description: "Result", + }, }), ]; const previousToolkit = createMergedToolkit({ @@ -181,7 +184,10 @@ describe("compareTools", () => { createMergedTool({ name: "Tool1", qualifiedName: "TestKit.Tool1", - description: "Original description", + output: { + type: "object", + description: "Result", + }, }), ], }); @@ -196,6 +202,57 @@ describe("compareTools", () => { }); }); + it("ignores description-only differences", () => { + const currentTools = [ + createToolDefinition({ + name: "Tool1", + qualifiedName: "TestKit.Tool1", + description: "Updated description text", + parameters: [ + { + name: "param1", + type: "string", + required: true, + description: "Updated parameter description", + enum: null, + inferrable: true, + }, + ], + output: { + type: "object", + description: "Updated output description", + }, + }), + ]; + const previousToolkit = createMergedToolkit({ + tools: [ + createMergedTool({ + name: "Tool1", + qualifiedName: "TestKit.Tool1", + description: "Original description text", + parameters: [ + { + name: "param1", + type: "string", + required: true, + description: "Original parameter description", + enum: null, + inferrable: true, + }, + ], + output: { + type: "object", + description: "Original output description", + }, + }), + ], + }); + + const changes = compareTools(currentTools, previousToolkit); + + expect(changes).toHaveLength(0); + }); + it("should detect parameter changes as modifications", () => { const currentTools = [ createToolDefinition({ @@ -278,6 +335,107 @@ describe("compareTools", () => { expect(changes[0]?.changeType).toBe("modified"); }); + it("ignores oauth provider ID differences across sources", () => { + const currentTools = [ + createToolDefinition({ + name: "Tool1", + qualifiedName: "TestKit.Tool1", + auth: { + providerId: null, + providerType: "oauth2", + scopes: ["repo"], + }, + }), + ]; + const previousToolkit = createMergedToolkit({ + tools: [ + createMergedTool({ + name: "Tool1", + qualifiedName: "TestKit.Tool1", + auth: { + providerId: "github", + providerType: "oauth2", + scopes: ["repo"], + }, + }), + ], + }); + + const changes = compareTools(currentTools, previousToolkit); + + expect(changes).toHaveLength(0); + }); + + it("treats unknown output type as string for diff parity", () => { + const currentTools = [ + createToolDefinition({ + name: "Tool1", + qualifiedName: "TestKit.Tool1", + output: { + type: "unknown", + description: "Result", + }, + }), + ]; + const previousToolkit = createMergedToolkit({ + tools: [ + createMergedTool({ + name: "Tool1", + qualifiedName: "TestKit.Tool1", + output: { + type: "string", + description: "Result", + }, + }), + ], + }); + + const changes = compareTools(currentTools, previousToolkit); + + expect(changes).toHaveLength(0); + }); + + it("treats empty enum arrays as null for diff parity", () => { + const currentTools = [ + createToolDefinition({ + name: "Tool1", + qualifiedName: "TestKit.Tool1", + parameters: [ + { + name: "mode", + type: "string", + required: true, + description: "Mode", + enum: [], + inferrable: true, + }, + ], + }), + ]; + const previousToolkit = createMergedToolkit({ + tools: [ + createMergedTool({ + name: "Tool1", + qualifiedName: "TestKit.Tool1", + parameters: [ + { + name: "mode", + type: "string", + required: true, + description: "Mode", + enum: null, + inferrable: true, + }, + ], + }), + ], + }); + + const changes = compareTools(currentTools, previousToolkit); + + expect(changes).toHaveLength(0); + }); + it("should handle tools with no previous toolkit", () => { const currentTools = [ createToolDefinition({ name: "Tool1", qualifiedName: "TestKit.Tool1" }), @@ -323,7 +481,14 @@ describe("compareToolkit", () => { }); it("should return modified when tools changed", () => { - const currentTools = [createToolDefinition({ description: "Updated" })]; + const currentTools = [ + createToolDefinition({ + output: { + type: "array", + description: "Result", + }, + }), + ]; const previousToolkit = createMergedToolkit(); const change = compareToolkit("TestKit", currentTools, previousToolkit); @@ -394,7 +559,14 @@ describe("detectChanges", () => { const currentToolkitTools = new Map([ [ "TestKit", - [createToolDefinition({ description: "Updated description" })], + [ + createToolDefinition({ + output: { + type: "array", + description: "Result", + }, + }), + ], ], ]); const previousToolkits = new Map([["TestKit", createMergedToolkit()]]); @@ -455,7 +627,10 @@ describe("detectChanges", () => { createMergedTool({ name: "CreateIssue", qualifiedName: "Github.CreateIssue", - description: "Old description", + output: { + type: "array", + description: "Result", + }, }), createMergedTool({ name: "RemovedTool", @@ -536,7 +711,17 @@ describe("hasChanges", () => { it("should return true when there are modified toolkits", () => { const result = detectChanges( new Map([ - ["TestKit", [createToolDefinition({ description: "Changed" })]], + [ + "TestKit", + [ + createToolDefinition({ + output: { + type: "array", + description: "Result", + }, + }), + ], + ], ]), new Map([["TestKit", createMergedToolkit()]]) ); @@ -567,7 +752,10 @@ describe("getChangedToolkitIds", () => { [ createToolDefinition({ qualifiedName: "Changed.Tool", - description: "New", + output: { + type: "array", + description: "Result", + }, }), ], ], @@ -612,7 +800,10 @@ describe("formatChangeSummary", () => { [ createToolDefinition({ qualifiedName: "Modified.Tool", - description: "New desc", + output: { + type: "array", + description: "Result", + }, }), ], ], diff --git a/toolkit-docs-generator/tests/scenarios/skip-unchanged.test.ts b/toolkit-docs-generator/tests/scenarios/skip-unchanged.test.ts index 28f967663..cac674a5d 100644 --- a/toolkit-docs-generator/tests/scenarios/skip-unchanged.test.ts +++ b/toolkit-docs-generator/tests/scenarios/skip-unchanged.test.ts @@ -93,7 +93,10 @@ describe("Scenario: Skip unchanged toolkits", () => { createTool({ name: "Tool1", qualifiedName: "Github.Tool1", - description: "Updated", + output: { + type: "array", + description: null, + }, }), ], ], diff --git a/toolkit-docs-generator/tests/sources/engine-api.test.ts b/toolkit-docs-generator/tests/sources/engine-api.test.ts index 3936eef5f..8575c2c89 100644 --- a/toolkit-docs-generator/tests/sources/engine-api.test.ts +++ b/toolkit-docs-generator/tests/sources/engine-api.test.ts @@ -198,10 +198,90 @@ describe("EngineApiSource", () => { expect(tools).toHaveLength(2); expect(tools[0]?.toolkitDescription).toBe("GitHub toolkit"); expect(tools[0]?.secrets).toEqual(["GITHUB_API_KEY"]); - expect(tools[1]?.output?.type).toBe("unknown"); + expect(tools[1]?.output?.type).toBe("string"); expect(tools[1]?.auth?.providerId).toBeNull(); }); + it("handles tool metadata output objects with missing fields", async () => { + const items: ToolMetadataItem[] = [ + { + fully_qualified_name: "Github.CreateIssue@1.0.0", + qualified_name: "Github.CreateIssue", + name: "CreateIssue", + description: "Create issue", + toolkit: { + name: "Github", + version: "1.0.0", + description: "GitHub toolkit", + }, + input: { parameters: [] }, + output: {} as ToolMetadataItem["output"], + requirements: { + authorization: null, + secrets: [], + }, + }, + ]; + const source = new EngineApiSource({ + baseUrl: "https://api.arcade.dev", + apiKey: "test", + fetchFn: createFetchStub(items), + }); + + const tools = await source.fetchAllTools(); + + expect(tools).toHaveLength(1); + expect(tools[0]?.output).toEqual({ + type: "string", + description: null, + }); + }); + + it("normalizes empty enum arrays to null", async () => { + const items: ToolMetadataItem[] = [ + { + fully_qualified_name: "Github.CreateIssue@1.0.0", + qualified_name: "Github.CreateIssue", + name: "CreateIssue", + description: "Create issue", + toolkit: { + name: "Github", + version: "1.0.0", + description: "GitHub toolkit", + }, + input: { + parameters: [ + { + name: "mode", + required: true, + description: "Execution mode", + value_schema: { + val_type: "string", + inner_val_type: null, + enum: [], + }, + inferrable: true, + }, + ], + }, + output: null, + requirements: { + authorization: null, + secrets: [], + }, + }, + ]; + const source = new EngineApiSource({ + baseUrl: "https://api.arcade.dev", + apiKey: "test", + fetchFn: createFetchStub(items), + }); + + const tools = await source.fetchAllTools(); + + expect(tools[0]?.parameters[0]?.enum).toBeNull(); + }); + it("filters tools by toolkit and provider", async () => { const items = createItems(); const source = new EngineApiSource({ diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index 4b835ce05..bed4c2800 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -21,6 +21,7 @@ test("porter workflow generates docs and opens a PR", () => { expect(workflowContents).toContain("pnpm dlx tsx src/cli/index.ts generate"); expect(workflowContents).toContain("--skip-unchanged"); expect(workflowContents).toContain("--verbose"); + expect(workflowContents).toContain("--api-source tool-metadata"); expect(workflowContents).toContain("--tool-metadata-url"); expect(workflowContents).toContain("--tool-metadata-key"); expect(workflowContents).toContain("peter-evans/create-pull-request"); From 6b29e1199152ce18e090dad483b0839b23dc4846 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 18:16:25 -0300 Subject: [PATCH 07/22] fixing again the workflow... --- toolkit-docs-generator/src/cli/index.ts | 95 +++++++++------- .../src/generator/json-generator.ts | 12 +- .../src/generator/output-verifier.ts | 70 +++++++++--- .../tests/generator/output-verifier.test.ts | 106 ++++++++++++++++++ 4 files changed, 222 insertions(+), 61 deletions(-) diff --git a/toolkit-docs-generator/src/cli/index.ts b/toolkit-docs-generator/src/cli/index.ts index 4e5246c77..d834551e4 100644 --- a/toolkit-docs-generator/src/cli/index.ts +++ b/toolkit-docs-generator/src/cli/index.ts @@ -692,6 +692,41 @@ const formatPreviousToolkitLoadStats = ( `${stats.failedFiles.length} failed`, ].join(", "); +const addLoadedPreviousToolkit = ( + previousToolkits: Map, + stats: PreviousToolkitLoadStats, + loaded: PreviousToolkitLoadOutcome +): boolean => { + if (!loaded.toolkit) { + return false; + } + previousToolkits.set(normalizeToolkitKey(loaded.toolkit.id), loaded.toolkit); + stats.loadedFiles += 1; + if (loaded.usedFallback) { + stats.fallbackFiles += 1; + } + return true; +}; + +const getPreviousToolkitFailureReason = ( + loaded: PreviousToolkitLoadOutcome +): string => loaded.reason ?? "unable to parse previous output"; + +const logFallbackToolkitLoad = ( + itemLabel: string, + loaded: PreviousToolkitLoadOutcome, + verbose: boolean +): void => { + if (!(verbose && loaded.usedFallback)) { + return; + } + console.log( + chalk.dim( + `Loaded ${itemLabel} with fallback parser (${loaded.reason ?? "schema mismatch"}).` + ) + ); +}; + const loadPreviousToolkitsForProviders = async ( dir: string, providers: ProviderVersion[], @@ -702,43 +737,29 @@ const loadPreviousToolkitsForProviders = async ( for (const provider of providers) { stats.scannedFiles += 1; - const filePath = join(dir, `${provider.provider.toLowerCase()}.json`); + const providerName = provider.provider; + const filePath = join(dir, `${providerName.toLowerCase()}.json`); const loaded = await loadPreviousToolkit(filePath); - if (loaded.toolkit) { - previousToolkits.set( - normalizeToolkitKey(loaded.toolkit.id), - loaded.toolkit - ); - stats.loadedFiles += 1; - if (loaded.usedFallback) { - stats.fallbackFiles += 1; - if (verbose) { - console.log( - chalk.dim( - `Loaded ${provider.provider} with fallback parser (${loaded.reason ?? "schema mismatch"}).` - ) - ); - } - } + if (addLoadedPreviousToolkit(previousToolkits, stats, loaded)) { + logFallbackToolkitLoad(providerName, loaded, verbose); continue; } if (loaded.missing) { stats.missingFiles += 1; if (verbose) { - console.log( - chalk.dim(`No previous output found for ${provider.provider}.`) - ); + console.log(chalk.dim(`No previous output found for ${providerName}.`)); } continue; } - const failure = `${provider.provider}: ${loaded.reason ?? "unable to parse previous output"}`; - stats.failedFiles.push(failure); + stats.failedFiles.push( + `${providerName}: ${getPreviousToolkitFailureReason(loaded)}` + ); if (verbose) { console.log( - chalk.dim(`Failed to parse previous output for ${provider.provider}.`) + chalk.dim(`Failed to parse previous output for ${providerName}.`) ); } } @@ -763,22 +784,8 @@ const loadPreviousToolkitsFromDir = async ( stats.scannedFiles += 1; const filePath = join(dir, fileName); const loaded = await loadPreviousToolkit(filePath); - if (loaded.toolkit) { - previousToolkits.set( - normalizeToolkitKey(loaded.toolkit.id), - loaded.toolkit - ); - stats.loadedFiles += 1; - if (loaded.usedFallback) { - stats.fallbackFiles += 1; - if (verbose) { - console.log( - chalk.dim( - `Loaded ${fileName} with fallback parser (${loaded.reason ?? "schema mismatch"}).` - ) - ); - } - } + if (addLoadedPreviousToolkit(previousToolkits, stats, loaded)) { + logFallbackToolkitLoad(fileName, loaded, verbose); continue; } @@ -788,7 +795,7 @@ const loadPreviousToolkitsFromDir = async ( } stats.failedFiles.push( - `${fileName}: ${loaded.reason ?? "unable to parse previous output"}` + `${fileName}: ${getPreviousToolkitFailureReason(loaded)}` ); } } catch (error) { @@ -1584,9 +1591,11 @@ program }; spinner.text = `${phaseLabels[progress.phase]} ${progress.current}/${progress.total}: ${progress.fileName ?? ""}`; }; + const allowLegacyFallback = !options.overwriteOutput; const verification = await verifyOutputDir( resolve(options.output), - onVerifyProgress + onVerifyProgress, + { allowLegacyFallback } ); if (!verification.valid) { spinner.fail("Output verification failed."); @@ -2118,9 +2127,11 @@ program }; spinner.text = `${phaseLabels[progress.phase]} ${progress.current}/${progress.total}: ${progress.fileName ?? ""}`; }; + const allowLegacyFallback = !options.overwriteOutput; const verification = await verifyOutputDir( resolve(options.output), - onVerifyProgress + onVerifyProgress, + { allowLegacyFallback } ); if (!verification.valid) { spinner.fail("Output verification failed."); diff --git a/toolkit-docs-generator/src/generator/json-generator.ts b/toolkit-docs-generator/src/generator/json-generator.ts index 7e9539cd5..f51865e74 100644 --- a/toolkit-docs-generator/src/generator/json-generator.ts +++ b/toolkit-docs-generator/src/generator/json-generator.ts @@ -5,6 +5,7 @@ */ import { mkdir, readFile, stat, writeFile } from "fs/promises"; import { dirname, join } from "path"; +import { parsePreviousToolkitForDiff } from "../diff/previous-output.js"; import type { MergedToolkit, ToolkitIndex, @@ -108,7 +109,9 @@ export class JsonGenerator { async getCompletedToolkitIds(): Promise> { const completedIds = new Set(); try { - const result = await readToolkitsFromDir(this.outputDir); + const result = await readToolkitsFromDir(this.outputDir, undefined, { + allowLegacyFallback: true, + }); for (const toolkit of result.toolkits) { completedIds.add(toolkit.id.toLowerCase()); } @@ -131,7 +134,8 @@ export class JsonGenerator { if (result.success) { return result.data; } - return null; + const fallback = parsePreviousToolkitForDiff(parsed, toolkitId); + return fallback.toolkit; } catch { return null; } @@ -210,7 +214,9 @@ export class JsonGenerator { private async getToolkitsFromOutputDir( errors: string[] ): Promise { - const readResult = await readToolkitsFromDir(this.outputDir); + const readResult = await readToolkitsFromDir(this.outputDir, undefined, { + allowLegacyFallback: true, + }); if (readResult.errors.length > 0) { errors.push(...readResult.errors); } diff --git a/toolkit-docs-generator/src/generator/output-verifier.ts b/toolkit-docs-generator/src/generator/output-verifier.ts index e6768070f..b28763c17 100644 --- a/toolkit-docs-generator/src/generator/output-verifier.ts +++ b/toolkit-docs-generator/src/generator/output-verifier.ts @@ -1,5 +1,6 @@ import { readdir, readFile } from "fs/promises"; import { basename, join } from "path"; +import { parsePreviousToolkitForDiff } from "../diff/previous-output.js"; import type { MergedToolkit, ToolkitIndex } from "../types/index.js"; import { MergedToolkitSchema, ToolkitIndexSchema } from "../types/index.js"; @@ -12,6 +13,7 @@ export interface OutputVerificationResult { export interface ToolkitReadResult { toolkits: MergedToolkit[]; errors: string[]; + warnings: string[]; } export interface VerificationProgress { @@ -25,6 +27,14 @@ export type VerificationProgressCallback = ( progress: VerificationProgress ) => void; +export interface ReadToolkitsOptions { + allowLegacyFallback?: boolean; +} + +export interface VerifyOutputOptions { + allowLegacyFallback?: boolean; +} + const isToolkitFile = (fileName: string): boolean => fileName.endsWith(".json") && fileName !== "index.json"; @@ -34,10 +44,12 @@ const normalizeToolkitKey = (toolkitId: string): string => type ReadToolkitFileResult = { toolkit: MergedToolkit | null; error?: string; + warning?: string; }; const readToolkitFile = async ( - filePath: string + filePath: string, + allowLegacyFallback: boolean ): Promise => { const fileName = basename(filePath); let content: string; @@ -63,22 +75,38 @@ const readToolkitFile = async ( } const result = MergedToolkitSchema.safeParse(parsed); - if (!result.success) { - return { - toolkit: null, - error: `Invalid toolkit schema in ${fileName}: ${result.error.message}`, - }; + if (result.success) { + return { toolkit: result.data }; } - return { toolkit: result.data }; + if (allowLegacyFallback) { + const fallback = parsePreviousToolkitForDiff( + parsed, + basename(fileName, ".json") + ); + if (fallback.toolkit) { + return { + toolkit: fallback.toolkit, + warning: `Loaded ${fileName} with fallback parser (${fallback.reason ?? "schema mismatch"}).`, + }; + } + } + + return { + toolkit: null, + error: `Invalid toolkit schema in ${fileName}: ${result.error.message}`, + }; }; export const readToolkitsFromDir = async ( dir: string, - onProgress?: VerificationProgressCallback + onProgress?: VerificationProgressCallback, + options: ReadToolkitsOptions = {} ): Promise => { const toolkits: MergedToolkit[] = []; const errors: string[] = []; + const warnings: string[] = []; + const allowLegacyFallback = options.allowLegacyFallback ?? false; let entries: string[] = []; try { @@ -87,6 +115,7 @@ export const readToolkitsFromDir = async ( return { toolkits: [], errors: [`Failed to read output directory: ${error}`], + warnings: [], }; } @@ -105,15 +134,18 @@ export const readToolkitsFromDir = async ( }); const filePath = join(dir, fileName); - const result = await readToolkitFile(filePath); + const result = await readToolkitFile(filePath, allowLegacyFallback); if (!result.toolkit) { errors.push(result.error ?? `Invalid toolkit JSON: ${fileName}`); continue; } + if (result.warning) { + warnings.push(result.warning); + } toolkits.push(result.toolkit); } - return { toolkits, errors }; + return { toolkits, errors, warnings }; }; const readIndexFile = async (dir: string): Promise => { @@ -271,16 +303,22 @@ const validateFileNames = async ( export const verifyOutputDir = async ( dir: string, - onProgress?: VerificationProgressCallback + onProgress?: VerificationProgressCallback, + options: VerifyOutputOptions = {} ): Promise => { const errors: string[] = []; const warnings: string[] = []; - - const { toolkits, errors: toolkitErrors } = await readToolkitsFromDir( - dir, - onProgress - ); + const allowLegacyFallback = options.allowLegacyFallback ?? false; + + const { + toolkits, + errors: toolkitErrors, + warnings: toolkitWarnings, + } = await readToolkitsFromDir(dir, onProgress, { + allowLegacyFallback, + }); errors.push(...toolkitErrors); + warnings.push(...toolkitWarnings); if (toolkits.length === 0) { errors.push("No toolkit JSON files found in output directory."); diff --git a/toolkit-docs-generator/tests/generator/output-verifier.test.ts b/toolkit-docs-generator/tests/generator/output-verifier.test.ts index c3c198fc6..3cdc95139 100644 --- a/toolkit-docs-generator/tests/generator/output-verifier.test.ts +++ b/toolkit-docs-generator/tests/generator/output-verifier.test.ts @@ -235,4 +235,110 @@ describe("verifyOutputDir", () => { ).toBe(true); }); }); + + it("can verify legacy toolkit files when legacy fallback is enabled", async () => { + await withTempDir(async (dir) => { + const [githubToolkit] = await Promise.all([ + loadFixture("github-toolkit.json"), + ]); + const generator = createJsonGenerator({ + outputDir: dir, + prettyPrint: false, + generateIndex: true, + }); + + await generator.generateAll([githubToolkit]); + + const toolkitPath = join(dir, "github.json"); + const legacyToolkit = JSON.parse( + await readFile(toolkitPath, "utf-8") + ) as Record; + const chunks = legacyToolkit.documentationChunks as Record< + string, + unknown + >[]; + if (Array.isArray(chunks) && chunks[0]) { + chunks[0].type = "legacy_note"; + chunks[0].location = "overview"; + } + legacyToolkit.subPages = [{ slug: "advanced" }]; + await writeFile( + toolkitPath, + JSON.stringify(legacyToolkit, null, 2), + "utf-8" + ); + + const strictResult = await verifyOutputDir(dir); + expect(strictResult.valid).toBe(false); + expect( + strictResult.errors.some((error) => + error.includes("Invalid toolkit schema in github.json") + ) + ).toBe(true); + + const fallbackResult = await verifyOutputDir(dir, undefined, { + allowLegacyFallback: true, + }); + expect(fallbackResult.valid).toBe(true); + expect(fallbackResult.errors).toHaveLength(0); + expect( + fallbackResult.warnings.some((warning) => + warning.includes("Loaded github.json with fallback parser") + ) + ).toBe(true); + }); + }); + + it("builds index from output when legacy files exist", async () => { + await withTempDir(async (dir) => { + const [githubToolkit, slackToolkit] = await Promise.all([ + loadFixture("github-toolkit.json"), + loadFixture("slack-toolkit.json"), + ]); + const baselineGenerator = createJsonGenerator({ + outputDir: dir, + prettyPrint: false, + generateIndex: true, + }); + await baselineGenerator.generateAll([githubToolkit, slackToolkit]); + + const toolkitPath = join(dir, "github.json"); + const legacyToolkit = JSON.parse( + await readFile(toolkitPath, "utf-8") + ) as Record; + const chunks = legacyToolkit.documentationChunks as Record< + string, + unknown + >[]; + if (Array.isArray(chunks) && chunks[0]) { + chunks[0].type = "legacy_note"; + chunks[0].location = "overview"; + } + legacyToolkit.subPages = [{ slug: "advanced" }]; + await writeFile( + toolkitPath, + JSON.stringify(legacyToolkit, null, 2), + "utf-8" + ); + + const generator = createJsonGenerator({ + outputDir: dir, + prettyPrint: false, + generateIndex: true, + indexSource: "output", + }); + const result = await generator.generateAll([slackToolkit]); + + expect(result.errors).toHaveLength(0); + + const index = JSON.parse( + await readFile(join(dir, "index.json"), "utf-8") + ) as { + toolkits: Array<{ id: string }>; + }; + const ids = new Set(index.toolkits.map((entry) => entry.id)); + expect(ids.has("Github")).toBe(true); + expect(ids.has("Slack")).toBe(true); + }); + }); }); From 89b29a4ad7532d4f622203c1b24ed1e07ab407f0 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 18:50:58 -0300 Subject: [PATCH 08/22] adding faster workflow for testing --- .../generate-toolkit-docs-temp-fast.yml | 83 +++++++++++++++++++ .github/workflows/generate-toolkit-docs.yml | 2 + .../workflows/generate-toolkit-docs.test.ts | 4 + 3 files changed, 89 insertions(+) create mode 100644 .github/workflows/generate-toolkit-docs-temp-fast.yml diff --git a/.github/workflows/generate-toolkit-docs-temp-fast.yml b/.github/workflows/generate-toolkit-docs-temp-fast.yml new file mode 100644 index 000000000..f2905d4fe --- /dev/null +++ b/.github/workflows/generate-toolkit-docs-temp-fast.yml @@ -0,0 +1,83 @@ +name: Generate toolkit docs (temp fast) +# Temporary workflow for faster docs generation without LLM calls. +# Safe to delete when no longer needed. + +on: + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + generate: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + cache: pnpm + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build toolkit docs generator + run: pnpm build + working-directory: toolkit-docs-generator + + - name: Generate toolkit docs (fast no-LLM mode) + run: | + pnpm dlx tsx src/cli/index.ts generate \ + --all \ + --skip-unchanged \ + --skip-examples \ + --skip-summary \ + --skip-overview \ + --verbose \ + --api-source tool-metadata \ + --tool-metadata-url "$ENGINE_API_URL" \ + --tool-metadata-key "$ENGINE_API_KEY" \ + --output data/toolkits + working-directory: toolkit-docs-generator + env: + ENGINE_API_URL: ${{ secrets.ENGINE_API_URL }} + ENGINE_API_KEY: ${{ secrets.ENGINE_API_KEY }} + + - name: Sync toolkit sidebar navigation + run: pnpm dlx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --prune --verbose + + - name: Check for changes + id: check-changes + run: | + if [ -n "$(git status --porcelain)" ]; then + echo "has_changes=true" >> $GITHUB_OUTPUT + else + echo "has_changes=false" >> $GITHUB_OUTPUT + fi + + - name: Create pull request + if: steps.check-changes.outputs.has_changes == 'true' + uses: peter-evans/create-pull-request@v7 + env: + HUSKY: 0 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: "chore: update toolkit docs (temp fast workflow)" + title: "Update toolkit docs (temp fast workflow)" + body: | + This PR was generated by the temporary fast docs workflow. + + - Trigger: ${{ github.event_name }} + - Run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + branch: automation/toolkit-docs-temp-fast-${{ github.run_id }} + delete-branch: true diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index daea204cc..68277dd8f 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -76,6 +76,8 @@ jobs: - name: Create pull request if: steps.check-changes.outputs.has_changes == 'true' uses: peter-evans/create-pull-request@v7 + env: + HUSKY: 0 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: "chore: update toolkit docs after Porter deploy" diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index bed4c2800..13f9ec397 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -24,6 +24,10 @@ test("porter workflow generates docs and opens a PR", () => { expect(workflowContents).toContain("--api-source tool-metadata"); expect(workflowContents).toContain("--tool-metadata-url"); expect(workflowContents).toContain("--tool-metadata-key"); + expect(workflowContents).toContain("--llm-provider openai"); + expect(workflowContents).toContain("--llm-model"); + expect(workflowContents).toContain("--llm-api-key"); expect(workflowContents).toContain("peter-evans/create-pull-request"); + expect(workflowContents).toContain("HUSKY: 0"); expect(workflowContents).toContain("pull-requests: write"); }); From 486fa1d9eb5457be42aca92958fac8f0ff7c03e2 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 18:55:47 -0300 Subject: [PATCH 09/22] updating worflow again --- .../generate-toolkit-docs-temp-fast.yml | 83 ------------------- .github/workflows/generate-toolkit-docs.yml | 8 +- .../workflows/generate-toolkit-docs.test.ts | 9 +- 3 files changed, 9 insertions(+), 91 deletions(-) delete mode 100644 .github/workflows/generate-toolkit-docs-temp-fast.yml diff --git a/.github/workflows/generate-toolkit-docs-temp-fast.yml b/.github/workflows/generate-toolkit-docs-temp-fast.yml deleted file mode 100644 index f2905d4fe..000000000 --- a/.github/workflows/generate-toolkit-docs-temp-fast.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: Generate toolkit docs (temp fast) -# Temporary workflow for faster docs generation without LLM calls. -# Safe to delete when no longer needed. - -on: - workflow_dispatch: - -permissions: - contents: write - pull-requests: write - -jobs: - generate: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Install pnpm - uses: pnpm/action-setup@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: "22" - cache: pnpm - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Build toolkit docs generator - run: pnpm build - working-directory: toolkit-docs-generator - - - name: Generate toolkit docs (fast no-LLM mode) - run: | - pnpm dlx tsx src/cli/index.ts generate \ - --all \ - --skip-unchanged \ - --skip-examples \ - --skip-summary \ - --skip-overview \ - --verbose \ - --api-source tool-metadata \ - --tool-metadata-url "$ENGINE_API_URL" \ - --tool-metadata-key "$ENGINE_API_KEY" \ - --output data/toolkits - working-directory: toolkit-docs-generator - env: - ENGINE_API_URL: ${{ secrets.ENGINE_API_URL }} - ENGINE_API_KEY: ${{ secrets.ENGINE_API_KEY }} - - - name: Sync toolkit sidebar navigation - run: pnpm dlx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --prune --verbose - - - name: Check for changes - id: check-changes - run: | - if [ -n "$(git status --porcelain)" ]; then - echo "has_changes=true" >> $GITHUB_OUTPUT - else - echo "has_changes=false" >> $GITHUB_OUTPUT - fi - - - name: Create pull request - if: steps.check-changes.outputs.has_changes == 'true' - uses: peter-evans/create-pull-request@v7 - env: - HUSKY: 0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - commit-message: "chore: update toolkit docs (temp fast workflow)" - title: "Update toolkit docs (temp fast workflow)" - body: | - This PR was generated by the temporary fast docs workflow. - - - Trigger: ${{ github.event_name }} - - Run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} - branch: automation/toolkit-docs-temp-fast-${{ github.run_id }} - delete-branch: true diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index 68277dd8f..27c7cba2f 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -46,20 +46,18 @@ jobs: pnpm dlx tsx src/cli/index.ts generate \ --all \ --skip-unchanged \ + --skip-examples \ + --skip-summary \ + --skip-overview \ --verbose \ --api-source tool-metadata \ --tool-metadata-url "$ENGINE_API_URL" \ --tool-metadata-key "$ENGINE_API_KEY" \ - --llm-provider openai \ - --llm-model "$OPENAI_MODEL" \ - --llm-api-key "$OPENAI_API_KEY" \ --output data/toolkits working-directory: toolkit-docs-generator env: ENGINE_API_URL: ${{ secrets.ENGINE_API_URL }} ENGINE_API_KEY: ${{ secrets.ENGINE_API_KEY }} - OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} - OPENAI_MODEL: ${{ secrets.OPENAI_MODEL || 'gpt-4o-mini' }} - name: Sync toolkit sidebar navigation run: pnpm dlx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --prune --verbose diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index 13f9ec397..fb0ca3e64 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -20,13 +20,16 @@ test("porter workflow includes required triggers", () => { test("porter workflow generates docs and opens a PR", () => { expect(workflowContents).toContain("pnpm dlx tsx src/cli/index.ts generate"); expect(workflowContents).toContain("--skip-unchanged"); + expect(workflowContents).toContain("--skip-examples"); + expect(workflowContents).toContain("--skip-summary"); + expect(workflowContents).toContain("--skip-overview"); expect(workflowContents).toContain("--verbose"); expect(workflowContents).toContain("--api-source tool-metadata"); expect(workflowContents).toContain("--tool-metadata-url"); expect(workflowContents).toContain("--tool-metadata-key"); - expect(workflowContents).toContain("--llm-provider openai"); - expect(workflowContents).toContain("--llm-model"); - expect(workflowContents).toContain("--llm-api-key"); + expect(workflowContents).not.toContain("--llm-provider"); + expect(workflowContents).not.toContain("--llm-model"); + expect(workflowContents).not.toContain("--llm-api-key"); expect(workflowContents).toContain("peter-evans/create-pull-request"); expect(workflowContents).toContain("HUSKY: 0"); expect(workflowContents).toContain("pull-requests: write"); From 462693f10053db637ce7fbc26766f9ed2b0a7d54 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 19:19:23 -0300 Subject: [PATCH 10/22] updating workflow --- .github/workflows/generate-toolkit-docs.yml | 14 ++-- .gitignore | 1 + .../scripts/sync-toolkit-sidebar.ts | 69 ++++++++++++++----- .../scripts/sync-toolkit-sidebar.test.ts | 56 +++++++++++++++ .../workflows/generate-toolkit-docs.test.ts | 11 ++- 5 files changed, 122 insertions(+), 29 deletions(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index 27c7cba2f..f61bde30b 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -46,21 +46,23 @@ jobs: pnpm dlx tsx src/cli/index.ts generate \ --all \ --skip-unchanged \ - --skip-examples \ - --skip-summary \ - --skip-overview \ --verbose \ --api-source tool-metadata \ --tool-metadata-url "$ENGINE_API_URL" \ --tool-metadata-key "$ENGINE_API_KEY" \ + --llm-provider openai \ + --llm-model "$OPENAI_MODEL" \ + --llm-api-key "$OPENAI_API_KEY" \ --output data/toolkits working-directory: toolkit-docs-generator env: ENGINE_API_URL: ${{ secrets.ENGINE_API_URL }} ENGINE_API_KEY: ${{ secrets.ENGINE_API_KEY }} + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + OPENAI_MODEL: ${{ secrets.OPENAI_MODEL || 'gpt-4o-mini' }} - name: Sync toolkit sidebar navigation - run: pnpm dlx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --prune --verbose + run: pnpm dlx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --remove-empty-sections=false --verbose - name: Check for changes id: check-changes @@ -78,8 +80,8 @@ jobs: HUSKY: 0 with: token: ${{ secrets.GITHUB_TOKEN }} - commit-message: "chore: update toolkit docs after Porter deploy" - title: "Update toolkit docs after Porter deploy" + commit-message: "[AUTO] Adding MCP Servers docs update" + title: "[AUTO] Adding MCP Servers docs update" body: | This PR was generated after a Porter deploy succeeded. diff --git a/.gitignore b/.gitignore index 3e4c055ee..5814a04cb 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ styles/write-good/ # Toolkit overview input files toolkit-docs-generator/overview-input/ +toolkit-docs-generator-verification/logs/ # Generated toolkit markdown (built at build time, not committed) public/toolkit-markdown/ diff --git a/toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts b/toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts index a8e517eda..1fb439165 100644 --- a/toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts +++ b/toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts @@ -13,6 +13,8 @@ * npx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts * npx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --dry-run * npx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --verbose + * npx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --remove-empty-sections + * npx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --remove-empty-sections=false */ import { @@ -140,6 +142,36 @@ export type SyncResult = { errors: string[]; }; +type SyncOptions = { + dryRun?: boolean; + verbose?: boolean; + /** Preferred flag name (default: false) */ + removeEmptySections?: boolean; + /** Backward-compatible alias for removeEmptySections */ + prune?: boolean; +}; + +export const resolveRemoveEmptySections = (options: SyncOptions): boolean => + options.removeEmptySections ?? options.prune ?? false; + +export const parseBooleanCliFlag = ( + args: readonly string[], + flagName: string +): boolean | undefined => { + const valueArg = args.find((arg) => arg.startsWith(`${flagName}=`)); + if (valueArg) { + const rawValue = valueArg.slice(flagName.length + 1).toLowerCase(); + if (rawValue === "true") { + return true; + } + if (rawValue === "false") { + return false; + } + } + + return args.includes(flagName) ? true : undefined; +}; + /** * Get list of toolkit JSON files (excluding index.json) */ @@ -464,10 +496,9 @@ export default meta; * Sync toolkit sidebar with available JSON files */ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Main orchestration function requires multiple steps -export function syncToolkitSidebar( - options: { dryRun?: boolean; verbose?: boolean; prune?: boolean } = {} -): SyncResult { +export function syncToolkitSidebar(options: SyncOptions = {}): SyncResult { const { dryRun = false, verbose = false } = options; + const removeEmptySections = resolveRemoveEmptySections(options); const result: SyncResult = { categoriesUpdated: [], @@ -548,20 +579,21 @@ export function syncToolkitSidebar( } } - // Remove category directories that no longer have any toolkits. - // This handles the case where toolkits move between categories (e.g. from - // "others" to "development") and the old category becomes empty. - // The --prune flag is accepted for backward compatibility but cleanup - // always runs to prevent stale sidebar entries and orphaned routes. - for (const existingDir of existingDirs) { - if (!activeCategories.includes(existingDir)) { - const categoryDir = join(CONFIG.integrationsDir, existingDir); - log(`Removing empty category: ${existingDir}`); - if (!dryRun) { - rmSync(categoryDir, { recursive: true }); + // Remove category directories only when explicitly enabled. + // This prevents automatic route removals during regular sync runs. + if (removeEmptySections) { + for (const existingDir of existingDirs) { + if (!activeCategories.includes(existingDir)) { + const categoryDir = join(CONFIG.integrationsDir, existingDir); + log(`Removing empty category: ${existingDir}`); + if (!dryRun) { + rmSync(categoryDir, { recursive: true }); + } + result.categoriesRemoved.push(existingDir); } - result.categoriesRemoved.push(existingDir); } + } else { + log("Skipping empty category removal (--remove-empty-sections=false)"); } // Update main _meta.tsx @@ -636,13 +668,16 @@ if (isMainModule) { const args = process.argv.slice(2); const dryRun = args.includes("--dry-run"); const verbose = args.includes("--verbose") || args.includes("-v"); - const prune = args.includes("--prune"); + const removeEmptySections = + parseBooleanCliFlag(args, "--remove-empty-sections") ?? + parseBooleanCliFlag(args, "--prune") ?? + false; if (dryRun) { console.log("Running in dry-run mode (no changes will be made)\n"); } - const result = syncToolkitSidebar({ dryRun, verbose, prune }); + const result = syncToolkitSidebar({ dryRun, verbose, removeEmptySections }); printResults(result); if (result.errors.length > 0) { diff --git a/toolkit-docs-generator/tests/scripts/sync-toolkit-sidebar.test.ts b/toolkit-docs-generator/tests/scripts/sync-toolkit-sidebar.test.ts index 8c6b466f6..b83442318 100644 --- a/toolkit-docs-generator/tests/scripts/sync-toolkit-sidebar.test.ts +++ b/toolkit-docs-generator/tests/scripts/sync-toolkit-sidebar.test.ts @@ -17,6 +17,8 @@ import { getToolkitLabel, getToolkitLabelFromJson, groupByCategory, + parseBooleanCliFlag, + resolveRemoveEmptySections, syncToolkitSidebar, type ToolkitInfo, } from "../../scripts/sync-toolkit-sidebar"; @@ -349,6 +351,60 @@ describe("groupByCategory", () => { }); }); +// ============================================================================ +// Unit Tests: remove empty section flags +// ============================================================================ + +describe("remove empty section flags", () => { + it("defaults to false when no flag is provided", () => { + expect(resolveRemoveEmptySections({})).toBe(false); + }); + + it("supports the explicit removeEmptySections option", () => { + expect(resolveRemoveEmptySections({ removeEmptySections: true })).toBe( + true + ); + expect(resolveRemoveEmptySections({ removeEmptySections: false })).toBe( + false + ); + }); + + it("supports prune as a backward-compatible alias", () => { + expect(resolveRemoveEmptySections({ prune: true })).toBe(true); + expect(resolveRemoveEmptySections({ prune: false })).toBe(false); + }); + + it("prefers removeEmptySections over prune when both are set", () => { + expect( + resolveRemoveEmptySections({ removeEmptySections: false, prune: true }) + ).toBe(false); + expect( + resolveRemoveEmptySections({ removeEmptySections: true, prune: false }) + ).toBe(true); + }); + + it("parses boolean CLI flags in value and shorthand formats", () => { + expect( + parseBooleanCliFlag( + ["--remove-empty-sections=true"], + "--remove-empty-sections" + ) + ).toBe(true); + expect( + parseBooleanCliFlag( + ["--remove-empty-sections=false"], + "--remove-empty-sections" + ) + ).toBe(false); + expect( + parseBooleanCliFlag( + ["--remove-empty-sections"], + "--remove-empty-sections" + ) + ).toBe(true); + }); +}); + // ============================================================================ // Unit Tests: generateCategoryMeta // ============================================================================ diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index fb0ca3e64..180b8ac89 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -20,17 +20,16 @@ test("porter workflow includes required triggers", () => { test("porter workflow generates docs and opens a PR", () => { expect(workflowContents).toContain("pnpm dlx tsx src/cli/index.ts generate"); expect(workflowContents).toContain("--skip-unchanged"); - expect(workflowContents).toContain("--skip-examples"); - expect(workflowContents).toContain("--skip-summary"); - expect(workflowContents).toContain("--skip-overview"); expect(workflowContents).toContain("--verbose"); expect(workflowContents).toContain("--api-source tool-metadata"); expect(workflowContents).toContain("--tool-metadata-url"); expect(workflowContents).toContain("--tool-metadata-key"); - expect(workflowContents).not.toContain("--llm-provider"); - expect(workflowContents).not.toContain("--llm-model"); - expect(workflowContents).not.toContain("--llm-api-key"); + expect(workflowContents).toContain("--llm-provider openai"); + expect(workflowContents).toContain("--llm-model"); + expect(workflowContents).toContain("--llm-api-key"); + expect(workflowContents).toContain("--remove-empty-sections=false"); expect(workflowContents).toContain("peter-evans/create-pull-request"); expect(workflowContents).toContain("HUSKY: 0"); + expect(workflowContents).toContain("[AUTO] Adding MCP Servers docs update"); expect(workflowContents).toContain("pull-requests: write"); }); From 6012b0573529fec453f58302f3b405f7611ded97 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 20:23:03 -0300 Subject: [PATCH 11/22] fixing some issues with ordering --- .../toolkit-docs/components/toolkit-page.tsx | 18 +++---- package.json | 2 +- pnpm-lock.yaml | 12 ++--- .../scripts/sync-toolkit-sidebar.ts | 29 ++++++++--- .../src/merger/data-merger.ts | 50 ++++++++++++++++++- .../tests/merger/data-merger.test.ts | 40 +++++++++++++++ .../scripts/sync-toolkit-sidebar.test.ts | 40 +++++++-------- 7 files changed, 146 insertions(+), 45 deletions(-) diff --git a/app/_components/toolkit-docs/components/toolkit-page.tsx b/app/_components/toolkit-docs/components/toolkit-page.tsx index 6c1d9abe3..a9e969019 100644 --- a/app/_components/toolkit-docs/components/toolkit-page.tsx +++ b/app/_components/toolkit-docs/components/toolkit-page.tsx @@ -583,6 +583,15 @@ export function ToolkitPage({ data }: ToolkitPageProps) {

{data.label}

+ - =20.17.0'} + '@arcadeai/design-system@3.27.7': + resolution: {integrity: sha512-cl2mcadjJYOlc3GVRREtzbsFPHqjTZktq1M0IeyEBr7Xavz0tklofSY7dnEF4wj7rui5s7iZ1EOcZOhuMQGTLg==} + engines: {bun: '>=1.3.5'} peerDependencies: '@hookform/resolvers': 5.2.1 lucide-react: 0.544.0 @@ -4842,7 +4842,7 @@ snapshots: transitivePeerDependencies: - encoding - '@arcadeai/design-system@3.27.5(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.3)))(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(lucide-react@0.548.0(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-hook-form@7.65.0(react@19.2.3))(react@19.2.3)(recharts@3.6.0(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react-is@16.13.1)(react@19.2.3)(redux@5.0.1))(tailwindcss@4.1.16)': + '@arcadeai/design-system@3.27.7(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.3)))(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(lucide-react@0.548.0(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-hook-form@7.65.0(react@19.2.3))(react@19.2.3)(recharts@3.6.0(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react-is@16.13.1)(react@19.2.3)(redux@5.0.1))(tailwindcss@4.1.16)': dependencies: '@arcadeai/arcadejs': 1.11.1 '@hookform/resolvers': 5.2.2(react-hook-form@7.65.0(react@19.2.3)) diff --git a/toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts b/toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts index 1fb439165..69c3fcdff 100644 --- a/toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts +++ b/toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts @@ -25,27 +25,42 @@ import { rmSync, writeFileSync, } from "node:fs"; +import { createRequire } from "node:module"; import { dirname, join, resolve } from "node:path"; -import { fileURLToPath } from "node:url"; +import { fileURLToPath, pathToFileURL } from "node:url"; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); // Import design system toolkits -let TOOLKITS: Array<{ +type DesignSystemToolkit = { id: string; label: string; category?: string; isHidden?: boolean; -}> = []; +}; + +let TOOLKITS: DesignSystemToolkit[] = []; +const require = createRequire(import.meta.url); try { - const designSystem = await import("@arcadeai/design-system"); + const designSystemEntry = require.resolve("@arcadeai/design-system"); + const designSystem = (await import( + pathToFileURL(designSystemEntry).href + )) as { + TOOLKITS?: DesignSystemToolkit[]; + }; TOOLKITS = designSystem.TOOLKITS || []; } catch { - console.warn( - "Warning: @arcadeai/design-system not found, using fallback category detection" - ); + if (!process.env.VITEST) { + console.warn( + "Warning: @arcadeai/design-system not found, using fallback category detection" + ); + } +} + +export function setToolkitsForTesting(toolkits: DesignSystemToolkit[]): void { + TOOLKITS = toolkits; } // Get project root (two levels up from toolkit-docs-generator/scripts) diff --git a/toolkit-docs-generator/src/merger/data-merger.ts b/toolkit-docs-generator/src/merger/data-merger.ts index e1cad0517..7da185ff8 100644 --- a/toolkit-docs-generator/src/merger/data-merger.ts +++ b/toolkit-docs-generator/src/merger/data-merger.ts @@ -287,10 +287,54 @@ export const extractVersion = (fullyQualifiedName: string): string => { * Create default metadata for toolkits not found in Design System */ const TOOLKIT_ID_NORMALIZER = /[^a-z0-9]/g; +const TOOLKIT_ID_ACRONYM_BOUNDARY = /([A-Z]+)([A-Z][a-z])/g; +const TOOLKIT_ID_WORD_BOUNDARY = /([a-z0-9])([A-Z])/g; +const TOOLKIT_DESCRIPTION_LABEL_PREFIX = "Arcade.dev LLM tools for "; const normalizeToolkitId = (toolkitId: string): string => toolkitId.toLowerCase().replace(TOOLKIT_ID_NORMALIZER, ""); +const humanizeToolkitId = (toolkitId: string): string => + toolkitId + .replace(TOOLKIT_ID_ACRONYM_BOUNDARY, "$1 $2") + .replace(TOOLKIT_ID_WORD_BOUNDARY, "$1 $2") + .replace(/\bApi\b/g, "API") + .trim(); + +const extractLabelFromDescription = ( + description: string | null +): string | null => { + if (!description) { + return null; + } + + const trimmed = description.trim(); + if (!trimmed.startsWith(TOOLKIT_DESCRIPTION_LABEL_PREFIX)) { + return null; + } + + const suffix = trimmed.slice(TOOLKIT_DESCRIPTION_LABEL_PREFIX.length).trim(); + if (suffix.length === 0) { + return null; + } + + const periodIndex = suffix.indexOf("."); + const candidate = ( + periodIndex >= 0 ? suffix.slice(0, periodIndex) : suffix + ).trim(); + + return candidate.length > 0 ? candidate : null; +}; + +const resolveToolkitLabel = (options: { + toolkitId: string; + metadata: ToolkitMetadata | null; + description: string | null; +}): string => + options.metadata?.label ?? + extractLabelFromDescription(options.description) ?? + humanizeToolkitId(options.toolkitId); + const isStarterToolkitId = (toolkitId: string): boolean => normalizeToolkitId(toolkitId).endsWith("api"); @@ -519,7 +563,11 @@ const buildMergedToolkit = (options: { return { id: options.toolkitId, - label: options.metadata?.label ?? options.toolkitId, + label: resolveToolkitLabel({ + toolkitId: options.toolkitId, + metadata: options.metadata, + description: options.description, + }), version: options.version, description: options.description, metadata: mergedMetadata, diff --git a/toolkit-docs-generator/tests/merger/data-merger.test.ts b/toolkit-docs-generator/tests/merger/data-merger.test.ts index cf71a3358..523a991b0 100644 --- a/toolkit-docs-generator/tests/merger/data-merger.test.ts +++ b/toolkit-docs-generator/tests/merger/data-merger.test.ts @@ -443,6 +443,46 @@ describe("mergeToolkit", () => { ); }); + it("infers a readable label from toolkit description without metadata", async () => { + const tools = [ + createTool({ + qualifiedName: "MicrosoftOnedrive.ListFolderItems", + fullyQualifiedName: "MicrosoftOnedrive.ListFolderItems@1.0.0", + toolkitDescription: "Arcade.dev LLM tools for Microsoft OneDrive", + }), + ]; + + const result = await mergeToolkit( + "MicrosoftOnedrive", + tools, + null, + null, + undefined + ); + + expect(result.toolkit.label).toBe("Microsoft OneDrive"); + }); + + it("humanizes toolkit ID when metadata and description label are unavailable", async () => { + const tools = [ + createTool({ + qualifiedName: "MyCustomApi.Run", + fullyQualifiedName: "MyCustomApi.Run@1.0.0", + toolkitDescription: "", + }), + ]; + + const result = await mergeToolkit( + "MyCustomApi", + tools, + null, + null, + undefined + ); + + expect(result.toolkit.label).toBe("My Custom API"); + }); + it("marks *Api toolkits as arcade_starter", async () => { const tools = [ createTool({ diff --git a/toolkit-docs-generator/tests/scripts/sync-toolkit-sidebar.test.ts b/toolkit-docs-generator/tests/scripts/sync-toolkit-sidebar.test.ts index b83442318..42e4ac7ea 100644 --- a/toolkit-docs-generator/tests/scripts/sync-toolkit-sidebar.test.ts +++ b/toolkit-docs-generator/tests/scripts/sync-toolkit-sidebar.test.ts @@ -7,7 +7,7 @@ import { existsSync, mkdirSync, rmSync, writeFileSync } from "node:fs"; import { join } from "node:path"; -import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { buildToolkitInfoList, generateCategoryMeta, @@ -19,30 +19,28 @@ import { groupByCategory, parseBooleanCliFlag, resolveRemoveEmptySections, + setToolkitsForTesting, syncToolkitSidebar, type ToolkitInfo, } from "../../scripts/sync-toolkit-sidebar"; -// Mock the design system -vi.mock("@arcadeai/design-system", () => ({ - TOOLKITS: [ - { id: "Gmail", label: "Gmail", category: "productivity" }, - { id: "Slack", label: "Slack", category: "social" }, - { id: "Github", label: "GitHub", category: "development" }, - { id: "Stripe", label: "Stripe", category: "payments" }, - { id: "Zendesk", label: "Zendesk", category: "customer-support" }, - { id: "GoogleSearch", label: "Google Search", category: "search" }, - { id: "Hubspot", label: "HubSpot", category: "sales" }, - { id: "Spotify", label: "Spotify", category: "entertainment" }, - { id: "Postgres", label: "Postgres", category: "databases" }, - { - id: "HiddenToolkit", - label: "Hidden", - category: "productivity", - isHidden: true, - }, - ], -})); +setToolkitsForTesting([ + { id: "Gmail", label: "Gmail", category: "productivity" }, + { id: "Slack", label: "Slack", category: "social" }, + { id: "Github", label: "GitHub", category: "development" }, + { id: "Stripe", label: "Stripe", category: "payments" }, + { id: "Zendesk", label: "Zendesk", category: "customer-support" }, + { id: "GoogleSearch", label: "Google Search", category: "search" }, + { id: "Hubspot", label: "HubSpot", category: "sales" }, + { id: "Spotify", label: "Spotify", category: "entertainment" }, + { id: "Postgres", label: "Postgres", category: "databases" }, + { + id: "HiddenToolkit", + label: "Hidden", + category: "productivity", + isHidden: true, + }, +]); // Test directory setup const TEST_DIR = join(process.cwd(), ".test-sync-sidebar"); From 98365642f190d6d5a7a804e9a0299252e379f92d Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 17 Feb 2026 23:17:16 -0300 Subject: [PATCH 12/22] adding required all metadate flag --- .github/workflows/generate-toolkit-docs.yml | 1 + toolkit-docs-generator/src/cli/index.ts | 146 +++++++++++++++++- .../src/merger/data-merger.ts | 16 +- .../tests/merger/data-merger.test.ts | 65 +++++++- .../workflows/generate-toolkit-docs.test.ts | 1 + 5 files changed, 217 insertions(+), 12 deletions(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index f61bde30b..313e15d8d 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -46,6 +46,7 @@ jobs: pnpm dlx tsx src/cli/index.ts generate \ --all \ --skip-unchanged \ + --require-complete \ --verbose \ --api-source tool-metadata \ --tool-metadata-url "$ENGINE_API_URL" \ diff --git a/toolkit-docs-generator/src/cli/index.ts b/toolkit-docs-generator/src/cli/index.ts index d834551e4..b2465d325 100644 --- a/toolkit-docs-generator/src/cli/index.ts +++ b/toolkit-docs-generator/src/cli/index.ts @@ -50,6 +50,7 @@ import { createEngineToolkitDataSource, createMockToolkitDataSource, type IToolkitDataSource, + type ToolkitData, } from "../sources/toolkit-data-source.js"; import { normalizeId } from "../utils/fp.js"; import { @@ -181,6 +182,13 @@ const buildLogPaths = (logDir: string) => ({ failedToolsPath: join(logDir, "failed-tools.json"), }); +const getToolkitIdsWithoutMetadata = ( + toolkitsData: ReadonlyMap +): string[] => + Array.from(toolkitsData.entries()) + .filter(([, toolkitData]) => toolkitData.metadata === null) + .map(([toolkitId]) => toolkitId); + const createMetadataSource = async (options: { metadataFile: string; useMetadataFile: boolean; @@ -239,6 +247,35 @@ type OverviewInitOptions = { type MetadataSource = Awaited>; +const filterProvidersByMetadataPresence = async ( + providers: readonly ProviderVersion[], + metadataSource: MetadataSource +): Promise<{ included: ProviderVersion[]; excluded: string[] }> => { + const source = metadataSource as { + getToolkitMetadata?: ( + toolkitId: string + ) => Promise<{ id: string; label: string } | null>; + }; + + if (!source.getToolkitMetadata) { + return { included: [...providers], excluded: [] }; + } + + const included: ProviderVersion[] = []; + const excluded: string[] = []; + + for (const provider of providers) { + const metadata = await source.getToolkitMetadata(provider.provider); + if (metadata) { + included.push(provider); + } else { + excluded.push(provider.provider); + } + } + + return { included, excluded }; +}; + const getOverviewInitToolkits = (options: OverviewInitOptions): string[] => { if (!options.toolkits) { throw new Error('Missing required option "--toolkits".'); @@ -988,6 +1025,11 @@ program "Only regenerate toolkits with changed tool definitions", false ) + .option( + "--require-complete", + "Require complete metadata. Only include toolkits with data in Engine and Design System.", + false + ) .option("--verbose", "Enable verbose logging", false) .action( async (options: { @@ -1029,11 +1071,13 @@ program resume: boolean; incremental: boolean; skipUnchanged: boolean; + requireComplete: boolean; verbose: boolean; // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: legacy CLI flow }) => { const spinner = ora("Parsing input...").start(); const logPaths = buildLogPaths(resolve(options.logDir)); + const requireComplete = options.requireComplete; try { const runAll = options.all; @@ -1114,6 +1158,36 @@ program providers = await resolveProviderIds(providers, metadataSource); } + if (requireComplete && providers && providers.length > 0) { + const { included, excluded } = + await filterProvidersByMetadataPresence(providers, metadataSource); + providers = included; + + if (excluded.length > 0) { + const label = excluded.length === 1 ? "provider" : "providers"; + console.log( + chalk.yellow( + `Skipping ${excluded.length} ${label} not found in metadata source: ${excluded.join(", ")}` + ) + ); + } + + if (providers.length === 0) { + spinner.succeed( + "No providers left after metadata filtering. Nothing to generate." + ); + await appendLogEntry(logPaths.runLogPath, { + title: "generate (metadata-filter no-op)", + details: [ + `output=${resolve(options.output)}`, + "mode=providers", + "reason=no providers matched metadata source", + ], + }); + process.exit(0); + } + } + // Create toolkit data source based on API source const apiSource = resolveApiSource(options); const toolkitDataSource = createToolkitDataSourceForApi( @@ -1262,12 +1336,29 @@ program ); } + const metadataExcludedToolkitIds = requireComplete + ? getToolkitIdsWithoutMetadata(currentToolkitsData) + : []; + const metadataExcludedToolkitIdSet = new Set( + metadataExcludedToolkitIds.map((id) => id.toLowerCase()) + ); + if (options.verbose && metadataExcludedToolkitIds.length > 0) { + console.log( + chalk.dim( + ` Excluding ${metadataExcludedToolkitIds.length} toolkit(s) without metadata before change detection` + ) + ); + } + // Build map of toolkit ID -> tools for comparison const currentToolkitTools = new Map< string, readonly import("../types/index.js").ToolDefinition[] >(); for (const [id, data] of currentToolkitsData) { + if (metadataExcludedToolkitIdSet.has(id.toLowerCase())) { + continue; + } currentToolkitTools.set(id, data.tools); } @@ -1385,6 +1476,7 @@ program : {}), ...(runAll ? { onToolkitProgress } : {}), ...(skipToolkitIds.size > 0 ? { skipToolkitIds } : {}), + requireCompleteData: requireComplete, ...(onToolkitComplete ? { onToolkitComplete } : {}), ...(resolveProviderId ? { resolveProviderId } : {}), }); @@ -1407,6 +1499,21 @@ program ); } + if (requireComplete) { + const metadataExcludedToolkitIds = + getToolkitIdsWithoutMetadata(toolkitList); + for (const toolkitId of metadataExcludedToolkitIds) { + skipToolkitIds.add(toolkitId.toLowerCase()); + } + if (options.verbose && metadataExcludedToolkitIds.length > 0) { + console.log( + chalk.dim( + ` Excluding ${metadataExcludedToolkitIds.length} toolkit(s) without metadata` + ) + ); + } + } + // If --skip-unchanged, only process changed toolkits // Add unchanged toolkits to skipToolkitIds if (changedToolkitIds) { @@ -1421,14 +1528,11 @@ program const toProcess = totalToolkits - skipToolkitIds.size; if (toProcess === 0) { - spinner.succeed(`All ${totalToolkits} toolkit(s) already complete`); + spinner.succeed("No toolkits to process after applying filters"); allResults = []; } else { - const skipReason = changedToolkitIds - ? `(${skipToolkitIds.size} unchanged)` - : skipToolkitIds.size > 0 - ? `(${skipToolkitIds.size} skipped)` - : ""; + const skipReason = + skipToolkitIds.size > 0 ? `(${skipToolkitIds.size} skipped)` : ""; spinner.succeed( `Found ${totalToolkits} toolkit(s), ${toProcess} to process ${skipReason}`.trim() ); @@ -1490,6 +1594,7 @@ program : {}), onToolkitProgress, ...(skipToolkitIds.size > 0 ? { skipToolkitIds } : {}), + requireCompleteData: requireComplete, ...(onToolkitComplete ? { onToolkitComplete } : {}), ...(resolveProviderId ? { resolveProviderId } : {}), }); @@ -1628,6 +1733,7 @@ program `apiSource=${apiSource}`, `mode=${runAll ? "all" : "providers"}`, `skipUnchanged=${options.skipUnchanged}`, + `requireComplete=${requireComplete}`, `filesWritten=${filesWritten.length}`, `warnings=${warningCount}`, `writeErrors=${writeErrors.length}`, @@ -1777,6 +1883,11 @@ program "Write each toolkit immediately after processing (default when --resume)", false ) + .option( + "--require-complete", + "Require complete metadata. Only include toolkits with data in Engine and Design System.", + false + ) .option("--verbose", "Enable verbose logging", false) .action( async (options: { @@ -1813,10 +1924,12 @@ program customSections?: string; resume: boolean; incremental: boolean; + requireComplete: boolean; verbose: boolean; // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: legacy CLI flow }) => { const spinner = ora("Initializing...").start(); + const requireComplete = options.requireComplete; try { const mockDataDir = options.mockDataDir ?? getDefaultMockDataDir(); @@ -1983,7 +2096,6 @@ program const fetchToolkitListDurationMs = Date.now() - fetchToolkitListStartedAt; const totalToolkits = toolkitList.size; - const toProcess = totalToolkits - skipToolkitIds.size; if (options.verbose) { console.log( chalk.dim( @@ -1992,8 +2104,25 @@ program ); } + if (requireComplete) { + const metadataExcludedToolkitIds = + getToolkitIdsWithoutMetadata(toolkitList); + for (const toolkitId of metadataExcludedToolkitIds) { + skipToolkitIds.add(toolkitId.toLowerCase()); + } + if (options.verbose && metadataExcludedToolkitIds.length > 0) { + console.log( + chalk.dim( + ` Excluding ${metadataExcludedToolkitIds.length} toolkit(s) without metadata` + ) + ); + } + } + + const toProcess = totalToolkits - skipToolkitIds.size; + if (toProcess === 0) { - spinner.succeed(`All ${totalToolkits} toolkit(s) already complete`); + spinner.succeed("No toolkits to process after applying filters"); } else { spinner.succeed( `Found ${totalToolkits} toolkit(s), ${toProcess} to process${skipToolkitIds.size > 0 ? ` (${skipToolkitIds.size} skipped)` : ""}` @@ -2056,6 +2185,7 @@ program : {}), onToolkitProgress, ...(skipToolkitIds.size > 0 ? { skipToolkitIds } : {}), + requireCompleteData: requireComplete, ...(onToolkitComplete ? { onToolkitComplete } : {}), ...(resolveProviderId ? { resolveProviderId } : {}), }); diff --git a/toolkit-docs-generator/src/merger/data-merger.ts b/toolkit-docs-generator/src/merger/data-merger.ts index 7da185ff8..760247987 100644 --- a/toolkit-docs-generator/src/merger/data-merger.ts +++ b/toolkit-docs-generator/src/merger/data-merger.ts @@ -66,6 +66,8 @@ export interface DataMergerConfig { onToolkitComplete?: ((result: MergeResult) => Promise) | undefined; /** Set of toolkit IDs to skip (for resume support) */ skipToolkitIds?: ReadonlySet | undefined; + /** When true, only process toolkits with metadata and tools */ + requireCompleteData?: boolean; /** Fallback resolver: toolkit ID → OAuth provider ID (design system) */ resolveProviderId?: ((toolkitId: string) => string | null) | undefined; } @@ -876,6 +878,7 @@ export class DataMerger { | ((result: MergeResult) => Promise) | undefined; private readonly skipToolkitIds: ReadonlySet; + private readonly requireCompleteData: boolean; private readonly resolveProviderId: | ((toolkitId: string) => string | null) | undefined; @@ -896,6 +899,7 @@ export class DataMerger { this.onToolkitProgress = config.onToolkitProgress; this.onToolkitComplete = config.onToolkitComplete; this.skipToolkitIds = config.skipToolkitIds ?? new Set(); + this.requireCompleteData = config.requireCompleteData ?? false; this.resolveProviderId = config.resolveProviderId; } @@ -1075,7 +1079,10 @@ export class DataMerger { // Filter out toolkits that should be skipped (for resume support) const filteredEntries = toolkitEntries.filter( - ([toolkitId]) => !this.skipToolkitIds.has(toolkitId.toLowerCase()) + ([toolkitId, toolkitData]) => + !this.skipToolkitIds.has(toolkitId.toLowerCase()) && + (!this.requireCompleteData || + (toolkitData.metadata !== null && toolkitData.tools.length > 0)) ); const results = await mapWithConcurrency( @@ -1109,8 +1116,11 @@ export class DataMerger { }> { const allToolkitsData = await this.toolkitDataSource.fetchAllToolkitsData(); const total = allToolkitsData.size; - const skipped = Array.from(allToolkitsData.keys()).filter((id) => - this.skipToolkitIds.has(id.toLowerCase()) + const skipped = Array.from(allToolkitsData.entries()).filter( + ([id, toolkitData]) => + this.skipToolkitIds.has(id.toLowerCase()) || + (this.requireCompleteData && + (toolkitData.metadata === null || toolkitData.tools.length === 0)) ).length; return { total, diff --git a/toolkit-docs-generator/tests/merger/data-merger.test.ts b/toolkit-docs-generator/tests/merger/data-merger.test.ts index 523a991b0..661745689 100644 --- a/toolkit-docs-generator/tests/merger/data-merger.test.ts +++ b/toolkit-docs-generator/tests/merger/data-merger.test.ts @@ -25,7 +25,11 @@ import { InMemoryMetadataSource, InMemoryToolDataSource, } from "../../src/sources/in-memory.js"; -import { createCombinedToolkitDataSource } from "../../src/sources/toolkit-data-source.js"; +import { + createCombinedToolkitDataSource, + type IToolkitDataSource, + type ToolkitData, +} from "../../src/sources/toolkit-data-source.js"; import type { CustomSections, ToolDefinition, @@ -1249,6 +1253,65 @@ describe("DataMerger", () => { expect(slackResult?.toolkit.tools).toHaveLength(1); }); + it("skips toolkits missing metadata or tools when requireCompleteData is true", async () => { + const completeToolkitData: ToolkitData = { + tools: [githubTool1], + metadata: githubMetadata, + }; + const missingMetadataToolkitData: ToolkitData = { + tools: [ + createTool({ + name: "Lookup", + qualifiedName: "Unknown.Lookup", + fullyQualifiedName: "Unknown.Lookup@1.0.0", + }), + ], + metadata: null, + }; + const missingToolsToolkitData: ToolkitData = { + tools: [], + metadata: slackMetadata, + }; + + const toolkitDataSource: IToolkitDataSource = { + fetchToolkitData: async (toolkitId: string) => { + if (toolkitId === "Github") { + return completeToolkitData; + } + if (toolkitId === "Unknown") { + return missingMetadataToolkitData; + } + if (toolkitId === "Slack") { + return missingToolsToolkitData; + } + return { tools: [], metadata: null }; + }, + fetchAllToolkitsData: async () => + new Map([ + ["Github", completeToolkitData], + ["Unknown", missingMetadataToolkitData], + ["Slack", missingToolsToolkitData], + ]), + isAvailable: async () => true, + }; + + const merger = new DataMerger({ + toolkitDataSource, + customSectionsSource: new EmptyCustomSectionsSource(), + toolExampleGenerator: createStubGenerator(), + requireCompleteData: true, + }); + + const count = await merger.getToolkitCount(); + const results = await merger.mergeAllToolkits(); + + expect(count.total).toBe(3); + expect(count.toProcess).toBe(1); + expect(count.skipped).toBe(2); + expect(results).toHaveLength(1); + expect(results[0]?.toolkit.id).toBe("Github"); + }); + it("should return empty array when no tools", async () => { const toolkitDataSource = createCombinedToolkitDataSource({ toolSource: new InMemoryToolDataSource([]), diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index 180b8ac89..61a7b91dc 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -20,6 +20,7 @@ test("porter workflow includes required triggers", () => { test("porter workflow generates docs and opens a PR", () => { expect(workflowContents).toContain("pnpm dlx tsx src/cli/index.ts generate"); expect(workflowContents).toContain("--skip-unchanged"); + expect(workflowContents).toContain("--require-complete"); expect(workflowContents).toContain("--verbose"); expect(workflowContents).toContain("--api-source tool-metadata"); expect(workflowContents).toContain("--tool-metadata-url"); From d5ad14691dcf2d8a3d3645904ca6c71d5b8fd872 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 13:04:49 -0300 Subject: [PATCH 13/22] [AUTO] Adding MCP Servers docs update (#784) Co-authored-by: jottakka <203343514+jottakka@users.noreply.github.com> --- app/en/resources/integrations/_meta.tsx | 3 + .../integrations/databases/_meta.tsx | 10 + .../integrations/development/_meta.tsx | 4 - next-env.d.ts | 2 +- .../data/toolkits/googledocs.json | 205 +- .../data/toolkits/googlesheets.json | 68 +- .../data/toolkits/googleslides.json | 102 +- .../data/toolkits/index.json | 378 +- .../data/toolkits/linear.json | 603 +- .../data/toolkits/sharepoint.json | 1339 +- .../data/toolkits/slack.json | 229 +- .../data/toolkits/stripe.json | 101 +- toolkit-docs-generator/data/toolkits/x.json | 114 +- .../data/toolkits/youtube.json | 20 +- .../data/toolkits/zohobooksapi.json | 44411 +++++++++++++++- 15 files changed, 46790 insertions(+), 799 deletions(-) create mode 100644 app/en/resources/integrations/databases/_meta.tsx diff --git a/app/en/resources/integrations/_meta.tsx b/app/en/resources/integrations/_meta.tsx index 32201d550..1cf921397 100644 --- a/app/en/resources/integrations/_meta.tsx +++ b/app/en/resources/integrations/_meta.tsx @@ -36,6 +36,9 @@ const meta: MetaRecord = { sales: { title: "Sales", }, + databases: { + title: "Databases", + }, "customer-support": { title: "Customer Support", }, diff --git a/app/en/resources/integrations/databases/_meta.tsx b/app/en/resources/integrations/databases/_meta.tsx new file mode 100644 index 000000000..d0b9a9cc9 --- /dev/null +++ b/app/en/resources/integrations/databases/_meta.tsx @@ -0,0 +1,10 @@ +import type { MetaRecord } from "nextra"; + +const meta: MetaRecord = { + "weaviate-api": { + title: "Weaviate API", + href: "/en/resources/integrations/databases/weaviate-api", + }, +}; + +export default meta; diff --git a/app/en/resources/integrations/development/_meta.tsx b/app/en/resources/integrations/development/_meta.tsx index 8722736fb..70a1a6050 100644 --- a/app/en/resources/integrations/development/_meta.tsx +++ b/app/en/resources/integrations/development/_meta.tsx @@ -101,10 +101,6 @@ const meta: MetaRecord = { title: "Vercel API", href: "/en/resources/integrations/development/vercel-api", }, - "weaviate-api": { - title: "Weaviate API", - href: "/en/resources/integrations/development/weaviate-api", - }, }; export default meta; diff --git a/next-env.d.ts b/next-env.d.ts index c4b7818fb..9edff1c7c 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/dev/types/routes.d.ts"; +import "./.next/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/toolkit-docs-generator/data/toolkits/googledocs.json b/toolkit-docs-generator/data/toolkits/googledocs.json index 0b67d8d49..b1e0a7e5e 100644 --- a/toolkit-docs-generator/data/toolkits/googledocs.json +++ b/toolkit-docs-generator/data/toolkits/googledocs.json @@ -1,7 +1,7 @@ { "id": "GoogleDocs", "label": "Google Docs", - "version": "5.0.1", + "version": "5.0.3", "description": "Arcade.dev LLM tools for Google Docs", "metadata": { "category": "productivity", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/google-docs", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/google-docs", "isComingSoon": false, "isHidden": false }, @@ -26,7 +26,7 @@ { "name": "CommentOnDocument", "qualifiedName": "GoogleDocs.CommentOnDocument", - "fullyQualifiedName": "GoogleDocs.CommentOnDocument@5.0.1", + "fullyQualifiedName": "GoogleDocs.CommentOnDocument@5.0.3", "description": "Comment on a specific document by its ID.", "parameters": [ { @@ -49,7 +49,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -62,12 +64,12 @@ "toolName": "GoogleDocs.CommentOnDocument", "parameters": { "document_id": { - "value": "abc123xyz", + "value": "1a2B3cD4eF5GhIjK6lMnOpQrStUvWxYz", "type": "string", "required": true }, "comment_text": { - "value": "Great work on this section!", + "value": "Please review the conclusion section for accuracy and update the citations where needed.", "type": "string", "required": true } @@ -80,7 +82,7 @@ { "name": "CreateBlankDocument", "qualifiedName": "GoogleDocs.CreateBlankDocument", - "fullyQualifiedName": "GoogleDocs.CreateBlankDocument@5.0.1", + "fullyQualifiedName": "GoogleDocs.CreateBlankDocument@5.0.3", "description": "Create a blank Google Docs document with the specified title.", "parameters": [ { @@ -95,7 +97,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -108,7 +112,7 @@ "toolName": "GoogleDocs.CreateBlankDocument", "parameters": { "title": { - "value": "Meeting Notes - September 2023", + "value": "Project Plan - Q2 2026", "type": "string", "required": true } @@ -121,7 +125,7 @@ { "name": "CreateDocumentFromText", "qualifiedName": "GoogleDocs.CreateDocumentFromText", - "fullyQualifiedName": "GoogleDocs.CreateDocumentFromText@5.0.1", + "fullyQualifiedName": "GoogleDocs.CreateDocumentFromText@5.0.3", "description": "Create a Google Docs document with the specified title and text content.", "parameters": [ { @@ -144,7 +148,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -157,12 +163,12 @@ "toolName": "GoogleDocs.CreateDocumentFromText", "parameters": { "title": { - "value": "Meeting Notes - October 2023", + "value": "Project Alpha — Kickoff Notes", "type": "string", "required": true }, "text_content": { - "value": "These are the notes from the meeting held on October 10, 2023. Discussed project timelines, deliverables, and assigned tasks.", + "value": "Project Alpha — Kickoff Meeting\nDate: 2026-02-18\n\nOverview:\nThis document captures the kickoff meeting for Project Alpha. The project aims to deliver the new mobile onboarding flow and backend integration by the end of Q3.\n\nGoals:\n- Implement redesigned onboarding screens\n- Integrate authentication API and session management\n- Improve first-time user activation metrics by 20%\n\nKey Decisions:\n1. Use OAuth2 for authentication with JWT sessions.\n2. Prioritize iOS implementation in sprint 1, Android in sprint 2.\n3. Start with a lightweight feature-flag system for gradual rollout.\n\nAction Items:\n- Alice: Draft technical design for OAuth2 integration (due 2026-02-25)\n- Bob: Create initial iOS UI prototypes (due 2026-03-01)\n- Carol: Define analytics events and tracking plan (due 2026-02-28)\n\nNext Steps:\nSchedule the technical design review and set up the project repo with CI templates.\n\nNotes:\nAttach UI mockups and API spec in the next update.", "type": "string", "required": true } @@ -175,8 +181,8 @@ { "name": "EditDocument", "qualifiedName": "GoogleDocs.EditDocument", - "fullyQualifiedName": "GoogleDocs.EditDocument@5.0.1", - "description": "Edit a Google Docs document with the specified edit request.\n\nThis tool does not have context about previous edits because it is stateless. If your edit\nrequest depends on knowledge about previous edits, then you should provide that context in\nthe edit requests.", + "fullyQualifiedName": "GoogleDocs.EditDocument@5.0.3", + "description": "Edit a Google Docs document with the specified edit request.\n\nThis tool edits the content within the document body only. It cannot edit document metadata\nsuch as the title, permissions, sharing settings, or other document properties.\n\nThis tool does not have context about previous edits because it is stateless. If your edit\nrequest depends on knowledge about previous edits, then you should provide that context in\nthe edit requests.", "parameters": [ { "name": "document_id", @@ -200,16 +206,25 @@ "type": "string", "required": false, "description": "The effort to put into reasoning about the edit(s). Defaults to medium", - "enum": ["minimal", "low", "medium", "high"], + "enum": [ + "minimal", + "low", + "medium", + "high" + ], "inferrable": true } ], "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, - "secrets": ["OPENAI_API_KEY"], + "secrets": [ + "OPENAI_API_KEY" + ], "secretsInfo": [ { "name": "OPENAI_API_KEY", @@ -225,15 +240,17 @@ "toolName": "GoogleDocs.EditDocument", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1a2B3cD4e5F6GhIjKlMnOpQrStUvWxYz", "type": "string", "required": true }, "edit_requests": { "value": [ - "Change the title of the document to 'Quarterly Financial Report'", - "Add a new section discussing the effects of the market downturn", - "Correct the spelling of 'recieve' to 'receive' throughout the document" + "Add a two-sentence executive summary at the very beginning of the document that summarizes the main findings and highlights the top three recommendations; keep the tone neutral and professional.", + "Replace every occurrence of 'XYZ Corp' with 'ACME Corp' and apply bold formatting to each replacement.", + "Locate the paragraph that starts with 'Next steps:' and convert the following sentences into a bulleted list of action items, each on its own bullet, preserving the original order.", + "Insert a 3x3 table immediately after the 'Project Timeline' heading with columns 'Milestone', 'Owner', 'Due Date' and populate it with these rows: 'Requirements gathered, Alice, 2026-03-15'; 'Prototype complete, Bob, 2026-04-01'; 'Release candidate, Carol, 2026-05-10'.", + "Standardize all dates in the document to ISO format YYYY-MM-DD (e.g., convert 03/15/2026 to 2026-03-15)." ], "type": "array", "required": true @@ -252,7 +269,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl@5.0.1", + "fullyQualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl@5.0.3", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -278,7 +295,7 @@ { "name": "GetDocumentAsDocmd", "qualifiedName": "GoogleDocs.GetDocumentAsDocmd", - "fullyQualifiedName": "GoogleDocs.GetDocumentAsDocmd@5.0.1", + "fullyQualifiedName": "GoogleDocs.GetDocumentAsDocmd@5.0.3", "description": "Get the latest version of the specified Google Docs document as DocMD.\nThe DocMD output will include tags that can be used to annotate the document with location\ninformation, the type of block, block IDs, and other metadata. If the document has tabs,\nall tabs are included in sequential order unless a specific tab_id is provided.", "parameters": [ { @@ -301,7 +318,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -314,12 +333,12 @@ "toolName": "GoogleDocs.GetDocumentAsDocmd", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F", + "value": "1aB3cD4EfGhIjKlmNOPqRstUVwxYZ0123456789", "type": "string", "required": true }, "tab_id": { - "value": "tab1", + "value": "tab_2", "type": "string", "required": false } @@ -332,7 +351,7 @@ { "name": "GetDocumentById", "qualifiedName": "GoogleDocs.GetDocumentById", - "fullyQualifiedName": "GoogleDocs.GetDocumentById@5.0.1", + "fullyQualifiedName": "GoogleDocs.GetDocumentById@5.0.3", "description": "DEPRECATED DO NOT USE THIS TOOL\nGet the latest version of the specified Google Docs document.", "parameters": [ { @@ -347,7 +366,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -360,7 +381,7 @@ "toolName": "GoogleDocs.GetDocumentById", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1a2B3cD4eF5gHi6Jk7Lm8No9PqRsTuVwXyZ", "type": "string", "required": true } @@ -373,7 +394,7 @@ { "name": "GetDocumentMetadata", "qualifiedName": "GoogleDocs.GetDocumentMetadata", - "fullyQualifiedName": "GoogleDocs.GetDocumentMetadata@5.0.1", + "fullyQualifiedName": "GoogleDocs.GetDocumentMetadata@5.0.3", "description": "Get metadata for a Google Docs document including hierarchical tab structure.\nReturns document title, ID, URL, total character count, and nested tab information\nwith character counts for each tab.", "parameters": [ { @@ -388,7 +409,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -401,7 +424,7 @@ "toolName": "GoogleDocs.GetDocumentMetadata", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1a2B3cD4eF5GhIj6K7Lm8No9PqRstUvWxYzABcdEF", "type": "string", "required": true } @@ -414,7 +437,7 @@ { "name": "InsertTextAtEndOfDocument", "qualifiedName": "GoogleDocs.InsertTextAtEndOfDocument", - "fullyQualifiedName": "GoogleDocs.InsertTextAtEndOfDocument@5.0.1", + "fullyQualifiedName": "GoogleDocs.InsertTextAtEndOfDocument@5.0.3", "description": "Updates an existing Google Docs document using the batchUpdate API endpoint.", "parameters": [ { @@ -437,7 +460,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -450,12 +475,12 @@ "toolName": "GoogleDocs.InsertTextAtEndOfDocument", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1abcdEFGHijkLMNOPqrSTuvWXyz1234567890", "type": "string", "required": true }, "text_content": { - "value": "This text was added at the end of the document.", + "value": "Added via API: Meeting notes:\n- Agenda item 1: Project kickoff\n- Agenda item 2: Timeline review\n- Action item: Assign follow-up owners\n\nNotes:\nPlease review and comment by EOD Friday.\n\nRegards,\nAPI Bot", "type": "string", "required": true } @@ -468,7 +493,7 @@ { "name": "ListDocumentComments", "qualifiedName": "GoogleDocs.ListDocumentComments", - "fullyQualifiedName": "GoogleDocs.ListDocumentComments@5.0.1", + "fullyQualifiedName": "GoogleDocs.ListDocumentComments@5.0.3", "description": "List all comments on the specified Google Docs document.", "parameters": [ { @@ -491,7 +516,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -504,7 +531,7 @@ "toolName": "GoogleDocs.ListDocumentComments", "parameters": { "document_id": { - "value": "1a2b3c4d5e6f7g8h9i0j", + "value": "1aBcD2efGhI_JkLmNoPqRsTuVwXyZ0123456789", "type": "string", "required": true }, @@ -522,7 +549,7 @@ { "name": "SearchAndRetrieveDocuments", "qualifiedName": "GoogleDocs.SearchAndRetrieveDocuments", - "fullyQualifiedName": "GoogleDocs.SearchAndRetrieveDocuments@5.0.1", + "fullyQualifiedName": "GoogleDocs.SearchAndRetrieveDocuments@5.0.3", "description": "Searches for documents in the user's Google Drive and returns documents with their main body\ncontent and tab metadata. Excludes documents that are in the trash.\n\nReturns main body content only with metadata about tabs. Use get_document_as_docmd() to retrieve\nfull tab content for specific documents. Use search_documents() for metadata-only searches.", "parameters": [ { @@ -530,7 +557,12 @@ "type": "string", "required": false, "description": "The format of the document to return. Defaults to Markdown.", - "enum": ["docmd", "markdown", "html", "google_api_json"], + "enum": [ + "docmd", + "markdown", + "html", + "google_api_json" + ], "inferrable": true }, { @@ -627,7 +659,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -645,17 +679,24 @@ "required": false }, "document_contains": { - "value": ["project", "meeting", "report"], + "value": [ + "Q1 roadmap", + "budget", + "customer feedback" + ], "type": "array", "required": false }, "document_not_contains": { - "value": ["draft", "confidential"], + "value": [ + "draft", + "internal only" + ], "type": "array", "required": false }, "search_only_in_shared_drive_id": { - "value": "abc123456", + "value": "0AExAmPlEShArEdDrIvEId12345", "type": "string", "required": false }, @@ -670,17 +711,20 @@ "required": false }, "order_by": { - "value": ["modifiedTime desc", "name asc"], + "value": [ + "modifiedTime desc", + "name asc" + ], "type": "array", "required": false }, "limit": { - "value": 10, + "value": 25, "type": "integer", "required": false }, "pagination_token": { - "value": "xyz987654", + "value": "Cg0a1b2c3d4e5f6g7h8i9", "type": "string", "required": false } @@ -693,7 +737,7 @@ { "name": "SearchDocuments", "qualifiedName": "GoogleDocs.SearchDocuments", - "fullyQualifiedName": "GoogleDocs.SearchDocuments@5.0.1", + "fullyQualifiedName": "GoogleDocs.SearchDocuments@5.0.3", "description": "Searches for documents in the user's Google Drive. Excludes documents in trash.\nReturns metadata only. Use get_document_metadata or get_document_as_docmd for content.", "parameters": [ { @@ -790,7 +834,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -803,17 +849,24 @@ "toolName": "GoogleDocs.SearchDocuments", "parameters": { "document_contains": { - "value": ["project", "report", "meeting notes"], + "value": [ + "project proposal", + "Q3 roadmap", + "budget" + ], "type": "array", "required": false }, "document_not_contains": { - "value": ["draft", "old", "deprecated"], + "value": [ + "draft", + "confidential" + ], "type": "array", "required": false }, "search_only_in_shared_drive_id": { - "value": "abc123sharedDriveId", + "value": "0A1B2C3D4E5F6G7H8I9J", "type": "string", "required": false }, @@ -828,17 +881,20 @@ "required": false }, "order_by": { - "value": ["createdTime", "name"], + "value": [ + "modifiedTime desc", + "name asc" + ], "type": "array", "required": false }, "limit": { - "value": 10, + "value": 25, "type": "integer", "required": false }, "pagination_token": { - "value": "nextPageToken", + "value": "Cg0KC2V4YW1wbGVfdG9rZW4", "type": "string", "required": false } @@ -851,7 +907,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleDocs.WhoAmI", - "fullyQualifiedName": "GoogleDocs.WhoAmI@5.0.1", + "fullyQualifiedName": "GoogleDocs.WhoAmI@5.0.3", "description": "Get comprehensive user profile and Google Docs environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Docs access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -879,32 +935,9 @@ } } ], - "documentationChunks": [ - { - "type": "warning", - "location": "description", - "position": "after", - "content": "\n This Toolkit is not available in Arcade Cloud. You can use these tools with a\n [self-hosted](/guides/deployment-hosting/configure-engine) instance of Arcade.\n" - }, - { - "type": "section", - "location": "custom_section", - "position": "after", - "content": "## Tab Support\n\nGoogle Docs supports hierarchical tabs within documents. The Google Docs tools provide comprehensive support for working with tabs:\n\n- **Tab Metadata**: `GetDocumentMetadata` returns hierarchical tab structures with approximate character and word counts for each tab\n- **Tab Content**: `GetDocumentAsDocMD` and `SearchAndRetrieveDocuments` include all tab content in their output\n- **Tab Filtering**: `GetDocumentAsDocMD` supports filtering to retrieve content from a specific tab using the `tab_id` parameter\n\nTabs are represented with the following structure:\n- Each tab has a unique `tabId`, `title`, `index`, and `nestingLevel`\n- Tabs can be nested up to 3 levels deep (parent → child → grandchild)\n- Tab metadata includes approximate character and word counts for each tab's content\n\n---", - "header": "## Tab Support" - }, - { - "type": "markdown", - "location": "auth", - "position": "after", - "content": "The Arcade Google Docs MCP Server uses the [Google auth provider](/references/auth-providers/google) to connect to users' Google accounts.\n---", - "header": "## Auth" - } - ], - "customImports": [ - "import ScopePicker from \"@/app/_components/scope-picker\";" - ], + "documentationChunks": [], + "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:32:15.847Z", - "summary": "Arcade.dev offers a toolkit for Google Docs that facilitates seamless interaction with Google Drive and document management. This toolkit enables developers to create, edit, and manage documents through a variety of functions in a secure environment.\n\n**Capabilities**\n- Create, edit, and comment on Google Docs seamlessly.\n- Retrieve document metadata and manage file permissions securely.\n- Generate user-friendly file picker URLs for easy file access.\n- List and manage comments within documents.\n\n**OAuth**\nProvider: Google\nScopes: https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile\n\n**Secrets**\nSecret Type: API Key\nExample: OPENAI_API_KEY." -} + "generatedAt": "2026-02-18T02:27:42.915Z", + "summary": "Arcade.dev Google Docs toolkit enables programmatic creation, retrieval, commenting, and editing of Google Docs and integrates Drive search and file-picker flows. It exposes document-level operations, structured DocMD exports, comment management, metadata retrieval, and user/profile introspection.\n\n**Capabilities**\n- Create, update, and export document bodies and structured representations; perform stateless edits and append operations.\n- Search, list, and enumerate Drive documents and metadata; generate user-driven file picker URLs for authorization and selection.\n- Manage comments, list annotations, and retrieve document and tab-level metadata and usage details.\n\n**OAuth**\nProvider: google\nScopes: https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile\n\n**Secrets**\nAPI key: OPENAI_API_KEY (used for downstream LLM or external API integrations)." +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/googlesheets.json b/toolkit-docs-generator/data/toolkits/googlesheets.json index 76509a3c2..4c6e5f0ad 100644 --- a/toolkit-docs-generator/data/toolkits/googlesheets.json +++ b/toolkit-docs-generator/data/toolkits/googlesheets.json @@ -1,7 +1,7 @@ { "id": "GoogleSheets", "label": "Google Sheets", - "version": "5.1.0", + "version": "5.1.1", "description": "Arcade.dev LLM tools for Google Sheets.", "metadata": { "category": "productivity", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/google-sheets", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/google-sheets", "isComingSoon": false, "isHidden": false }, @@ -26,7 +26,7 @@ { "name": "AddNoteToCell", "qualifiedName": "GoogleSheets.AddNoteToCell", - "fullyQualifiedName": "GoogleSheets.AddNoteToCell@5.1.0", + "fullyQualifiedName": "GoogleSheets.AddNoteToCell@5.1.1", "description": "Add a note to a specific cell in a spreadsheet. A note is a small\npiece of text attached to a cell (shown with a black triangle) that\nappears when you hover over the cell.\n\nsheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned,\nthen always assume the default sheet_position is sufficient.", "parameters": [ { @@ -81,7 +81,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -132,7 +134,7 @@ { "name": "CreateSpreadsheet", "qualifiedName": "GoogleSheets.CreateSpreadsheet", - "fullyQualifiedName": "GoogleSheets.CreateSpreadsheet@5.1.0", + "fullyQualifiedName": "GoogleSheets.CreateSpreadsheet@5.1.1", "description": "Create a new spreadsheet with the provided title and data in its first sheet\n\nReturns the newly created spreadsheet's id and title", "parameters": [ { @@ -155,7 +157,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -186,7 +190,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleSheets.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleSheets.GenerateGoogleFilePickerUrl@5.1.0", + "fullyQualifiedName": "GoogleSheets.GenerateGoogleFilePickerUrl@5.1.1", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -212,7 +216,7 @@ { "name": "GetSpreadsheet", "qualifiedName": "GoogleSheets.GetSpreadsheet", - "fullyQualifiedName": "GoogleSheets.GetSpreadsheet@5.1.0", + "fullyQualifiedName": "GoogleSheets.GetSpreadsheet@5.1.1", "description": "Gets the specified range of cells from a single sheet in the spreadsheet.\n\nsheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned,\nthen always assume the default sheet_position is sufficient.", "parameters": [ { @@ -275,7 +279,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -331,7 +337,7 @@ { "name": "GetSpreadsheetMetadata", "qualifiedName": "GoogleSheets.GetSpreadsheetMetadata", - "fullyQualifiedName": "GoogleSheets.GetSpreadsheetMetadata@5.1.0", + "fullyQualifiedName": "GoogleSheets.GetSpreadsheetMetadata@5.1.1", "description": "Gets the metadata for a spreadsheet including the metadata for the sheets in the spreadsheet.\n\nUse this tool to get the name, position, ID, and URL of all sheets in a spreadsheet as well as\nthe number of rows and columns in each sheet.\n\nDoes not return the content/data of the sheets in the spreadsheet - only the metadata.\nExcludes spreadsheets that are in the trash.", "parameters": [ { @@ -346,7 +352,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -372,7 +380,7 @@ { "name": "SearchSpreadsheets", "qualifiedName": "GoogleSheets.SearchSpreadsheets", - "fullyQualifiedName": "GoogleSheets.SearchSpreadsheets@5.1.0", + "fullyQualifiedName": "GoogleSheets.SearchSpreadsheets@5.1.1", "description": "Searches for spreadsheets in the user's Google Drive based on the titles and content and\nreturns the title, ID, and URL for each matching spreadsheet.\n\nDoes not return the content/data of the sheets in the spreadsheets - only the metadata.\nExcludes spreadsheets that are in the trash.", "parameters": [ { @@ -469,7 +477,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -482,12 +492,18 @@ "toolName": "GoogleSheets.SearchSpreadsheets", "parameters": { "spreadsheet_contains": { - "value": ["financial", "budget"], + "value": [ + "financial", + "budget" + ], "type": "array", "required": false }, "spreadsheet_not_contains": { - "value": ["draft", "old"], + "value": [ + "draft", + "old" + ], "type": "array", "required": false }, @@ -507,7 +523,9 @@ "required": false }, "order_by": { - "value": ["lastModifiedTime"], + "value": [ + "lastModifiedTime" + ], "type": "array", "required": false }, @@ -530,7 +548,7 @@ { "name": "UpdateCells", "qualifiedName": "GoogleSheets.UpdateCells", - "fullyQualifiedName": "GoogleSheets.UpdateCells@5.1.0", + "fullyQualifiedName": "GoogleSheets.UpdateCells@5.1.1", "description": "Write values to a Google Sheet using a flexible data format.\n\nsheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned,\nthen always assume the default sheet_position is sufficient.", "parameters": [ { @@ -569,7 +587,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -610,7 +630,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleSheets.WhoAmI", - "fullyQualifiedName": "GoogleSheets.WhoAmI@5.1.0", + "fullyQualifiedName": "GoogleSheets.WhoAmI@5.1.1", "description": "Get comprehensive user profile and Google Sheets environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Sheets access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -640,7 +660,7 @@ { "name": "WriteToCell", "qualifiedName": "GoogleSheets.WriteToCell", - "fullyQualifiedName": "GoogleSheets.WriteToCell@5.1.0", + "fullyQualifiedName": "GoogleSheets.WriteToCell@5.1.1", "description": "Write a value to a single cell in a spreadsheet.", "parameters": [ { @@ -687,7 +707,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -736,6 +758,6 @@ "import ScopePicker from \"@/app/_components/scope-picker\";" ], "subPages": [], - "generatedAt": "2026-01-26T17:33:21.516Z", + "generatedAt": "2026-02-18T02:27:25.718Z", "summary": "Arcade.dev provides LLM tools for Google Sheets, enabling seamless interactions with spreadsheet data through API integration. This toolkit allows developers to automate tasks, manage files, and enhance user experience in Google Sheets.\n\n### Capabilities\n- Create and manage spreadsheets with flexible data formats.\n- Retrieve and update cell contents efficiently.\n- Access user profile information and permissions.\n- Generate file picker URLs for user-driven file selection and authorization.\n\n### OAuth\n- **Provider**: Google \n- **Scopes**: \n - `https://www.googleapis.com/auth/drive.file` \n - `https://www.googleapis.com/auth/userinfo.email` \n - `https://www.googleapis.com/auth/userinfo.profile`\n\n### Secrets\n- No secret types or names are specified." -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/googleslides.json b/toolkit-docs-generator/data/toolkits/googleslides.json index e42898e69..d30fd0867 100644 --- a/toolkit-docs-generator/data/toolkits/googleslides.json +++ b/toolkit-docs-generator/data/toolkits/googleslides.json @@ -1,7 +1,7 @@ { "id": "GoogleSlides", "label": "Google Slides", - "version": "1.3.2", + "version": "1.3.3", "description": "Arcade.dev LLM tools for Google Slides", "metadata": { "category": "productivity", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/google-slides", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/google-slides", "isComingSoon": false, "isHidden": false }, @@ -26,7 +26,7 @@ { "name": "CommentOnPresentation", "qualifiedName": "GoogleSlides.CommentOnPresentation", - "fullyQualifiedName": "GoogleSlides.CommentOnPresentation@1.3.2", + "fullyQualifiedName": "GoogleSlides.CommentOnPresentation@1.3.3", "description": "Comment on a specific slide by its index in a Google Slides presentation.", "parameters": [ { @@ -49,7 +49,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -62,12 +64,12 @@ "toolName": "GoogleSlides.CommentOnPresentation", "parameters": { "presentation_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1a2B3cD4EfGHijkLMnoPQrsTuvWxYZ", "type": "string", "required": true }, "comment_text": { - "value": "Great job on this slide! Very informative.", + "value": "Please update the chart on this slide to reflect Q1 sales and apply the company color palette; increase label font size for readability.", "type": "string", "required": true } @@ -80,7 +82,7 @@ { "name": "CreatePresentation", "qualifiedName": "GoogleSlides.CreatePresentation", - "fullyQualifiedName": "GoogleSlides.CreatePresentation@1.3.2", + "fullyQualifiedName": "GoogleSlides.CreatePresentation@1.3.3", "description": "Create a new Google Slides presentation\nThe first slide will be populated with the specified title and subtitle.", "parameters": [ { @@ -103,7 +105,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -116,12 +120,12 @@ "toolName": "GoogleSlides.CreatePresentation", "parameters": { "title": { - "value": "Annual Sales Report", + "value": "Q2 Product Roadmap", "type": "string", "required": true }, "subtitle": { - "value": "Q1 Performance Analysis", + "value": "Team review and key milestones — Prepared by Product Team", "type": "string", "required": false } @@ -134,7 +138,7 @@ { "name": "CreateSlide", "qualifiedName": "GoogleSlides.CreateSlide", - "fullyQualifiedName": "GoogleSlides.CreateSlide@1.3.2", + "fullyQualifiedName": "GoogleSlides.CreateSlide@1.3.3", "description": "Create a new slide at the end of the specified presentation", "parameters": [ { @@ -165,7 +169,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -178,17 +184,17 @@ "toolName": "GoogleSlides.CreateSlide", "parameters": { "presentation_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1A2b3C4d5EFGhijkLMnOPqRstUvWXyZ6789abCDeFg", "type": "string", "required": true }, "slide_title": { - "value": "Introduction to JSON", + "value": "Project Kickoff", "type": "string", "required": true }, "slide_body": { - "value": "This slide provides an overview of JSON format and its uses.", + "value": "Overview of project goals, timeline, key stakeholders, main milestones, and next steps. Action items: assign owners and set deadlines.", "type": "string", "required": true } @@ -201,7 +207,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleSlides.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleSlides.GenerateGoogleFilePickerUrl@1.3.2", + "fullyQualifiedName": "GoogleSlides.GenerateGoogleFilePickerUrl@1.3.3", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -227,7 +233,7 @@ { "name": "GetPresentationAsMarkdown", "qualifiedName": "GoogleSlides.GetPresentationAsMarkdown", - "fullyQualifiedName": "GoogleSlides.GetPresentationAsMarkdown@1.3.2", + "fullyQualifiedName": "GoogleSlides.GetPresentationAsMarkdown@1.3.3", "description": "Get the specified Google Slides presentation and convert it to markdown.\n\nOnly retrieves the text content of the presentation and formats it as markdown.", "parameters": [ { @@ -242,7 +248,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -255,7 +263,7 @@ "toolName": "GoogleSlides.GetPresentationAsMarkdown", "parameters": { "presentation_id": { - "value": "1a2B3cD4E5fG6H7I8J9K0", + "value": "1aBcD2efGhIJKlMnoPqRstUvWXYZ1234567890", "type": "string", "required": true } @@ -268,7 +276,7 @@ { "name": "ListPresentationComments", "qualifiedName": "GoogleSlides.ListPresentationComments", - "fullyQualifiedName": "GoogleSlides.ListPresentationComments@1.3.2", + "fullyQualifiedName": "GoogleSlides.ListPresentationComments@1.3.3", "description": "List all comments on the specified Google Slides presentation.", "parameters": [ { @@ -291,7 +299,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -304,7 +314,7 @@ "toolName": "GoogleSlides.ListPresentationComments", "parameters": { "presentation_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1a2B3cD4EfGhIjKlMnOpQrStUvWxYz1234567890", "type": "string", "required": true }, @@ -322,7 +332,7 @@ { "name": "SearchPresentations", "qualifiedName": "GoogleSlides.SearchPresentations", - "fullyQualifiedName": "GoogleSlides.SearchPresentations@1.3.2", + "fullyQualifiedName": "GoogleSlides.SearchPresentations@1.3.3", "description": "Searches for presentations in the user's Google Drive.\nExcludes presentations that are in the trash.", "parameters": [ { @@ -419,7 +429,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -432,17 +444,24 @@ "toolName": "GoogleSlides.SearchPresentations", "parameters": { "presentation_contains": { - "value": ["marketing", "2023", "presentation"], + "value": [ + "Q3 Sales", + "roadmap", + "FY2026" + ], "type": "array", "required": false }, "presentation_not_contains": { - "value": ["draft", "internal"], + "value": [ + "draft", + "internal" + ], "type": "array", "required": false }, "search_only_in_shared_drive_id": { - "value": "abc123xyz", + "value": "0A1B2C3D4E5F6G7H8I", "type": "string", "required": false }, @@ -457,17 +476,20 @@ "required": false }, "order_by": { - "value": ["modifiedTime desc"], + "value": [ + "modifiedTime desc", + "name asc" + ], "type": "array", "required": false }, "limit": { - "value": 10, + "value": 25, "type": "integer", "required": false }, "pagination_token": { - "value": "token123", + "value": "CgkI7eXampleToken12345", "type": "string", "required": false } @@ -480,7 +502,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleSlides.WhoAmI", - "fullyQualifiedName": "GoogleSlides.WhoAmI@1.3.2", + "fullyQualifiedName": "GoogleSlides.WhoAmI@1.3.3", "description": "Get comprehensive user profile and Google Slides environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Slides access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -508,19 +530,9 @@ } } ], - "documentationChunks": [ - { - "type": "section", - "location": "custom_section", - "position": "after", - "content": "## GoogleSlides Reference\n\nBelow is a reference of enumerations used by some tools in the GoogleSlides MCP Server:\n\n### OrderBy\n\n- **CREATED_TIME**: `createdTime`\n- **CREATED_TIME_DESC**: `createdTime desc`\n- **FOLDER**: `folder`\n- **FOLDER_DESC**: `folder desc`\n- **MODIFIED_BY_ME_TIME**: `modifiedByMeTime`\n- **MODIFIED_BY_ME_TIME_DESC**: `modifiedByMeTime desc`\n- **MODIFIED_TIME**: `modifiedTime`\n- **MODIFIED_TIME_DESC**: `modifiedTime desc`\n- **NAME**: `name`\n- **NAME_DESC**: `name desc`\n- **NAME_NATURAL**: `name_natural`\n- **NAME_NATURAL_DESC**: `name_natural desc`\n- **QUOTA_BYTES_USED**: `quotaBytesUsed`\n- **QUOTA_BYTES_USED_DESC**: `quotaBytesUsed desc`\n- **RECENCY**: `recency`\n- **RECENCY_DESC**: `recency desc`\n- **SHARED_WITH_ME_TIME**: `sharedWithMeTime`\n- **SHARED_WITH_ME_TIME_DESC**: `sharedWithMeTime desc`\n- **STARRED**: `starred`\n- **STARRED_DESC**: `starred desc`\n- **VIEWED_BY_ME_TIME**: `viewedByMeTime`\n- **VIEWED_BY_ME_TIME_DESC**: `viewedByMeTime desc`\n\n", - "header": "## GoogleSlides Reference" - } - ], - "customImports": [ - "import ScopePicker from \"@/app/_components/scope-picker\";" - ], + "documentationChunks": [], + "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:33:35.118Z", + "generatedAt": "2026-02-18T02:27:39.640Z", "summary": "Arcade.dev provides a powerful toolkit for Google Slides, enabling seamless integration and manipulation of presentations within Google Drive. This toolkit allows developers to automate various tasks related to presentation management, enhancing productivity and collaboration.\n\n**Capabilities**\n- Generate, modify, and comment on slides within presentations.\n- Create new Google Slides presentations with specified content.\n- Retrieve presentations and convert them to markdown format.\n- Search for and list presentations in the user's Google Drive.\n- Access comprehensive user profile information and permissions.\n\n**OAuth**\n- Provider: Google\n- Scopes: [https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile]" -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/index.json b/toolkit-docs-generator/data/toolkits/index.json index af48d1e93..44c32547e 100644 --- a/toolkit-docs-generator/data/toolkits/index.json +++ b/toolkit-docs-generator/data/toolkits/index.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-01-26T19:59:55.801Z", + "generatedAt": "2026-02-18T02:43:50.484Z", "version": "1.0.0", "toolkits": [ { @@ -7,105 +7,106 @@ "label": "Airtable API", "version": "4.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 96, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "ArcadeEngineApi", "label": "Arcade Engine API", "version": "1.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 29, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Asana", "label": "Asana", "version": "1.1.1", "category": "productivity", + "type": "arcade", "toolCount": 19, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "AsanaApi", "label": "Asana API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 199, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "AshbyApi", "label": "Ashby API", "version": "2.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 141, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "BoxApi", "label": "Box API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 188, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Brightdata", "label": "Bright Data", "version": "0.2.0", "category": "development", + "type": "community", "toolCount": 3, - "authType": "none", - "type": "community" + "authType": "none" }, { "id": "CalendlyApi", "label": "Calendly API", "version": "3.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 51, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Clickup", "label": "ClickUp", "version": "1.1.1", "category": "productivity", + "type": "arcade", "toolCount": 24, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "ClickupApi", "label": "ClickUp API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 134, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "CodeSandbox", "label": "Codesandbox", "version": "2.0.1", "category": "development", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "ComplexTools", "label": "ComplexTools", "version": "0.1.0", "category": "development", + "type": "arcade", "toolCount": 6, "authType": "none" }, @@ -114,60 +115,61 @@ "label": "Confluence", "version": "2.2.2", "category": "productivity", + "type": "arcade", "toolCount": 14, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "CursorAgentsApi", "label": "Cursor Agents API", "version": "0.1.1", "category": "development", + "type": "arcade_starter", "toolCount": 7, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "CustomerioApi", "label": "Customer.io API", "version": "1.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 115, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "CustomerioPipelinesApi", "label": "Customer.io Pipelines API", "version": "1.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 7, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "CustomerioTrackApi", "label": "Customer.io Track API", "version": "1.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 17, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "DatadogApi", "label": "Datadog API", "version": "2.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 588, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Deepwiki", "label": "Deepwiki", "version": "0.0.1", "category": "development", + "type": "arcade", "toolCount": 3, "authType": "none" }, @@ -176,33 +178,34 @@ "label": "Dropbox", "version": "1.0.1", "category": "productivity", + "type": "arcade", "toolCount": 3, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "E2b", "label": "E2B", "version": "3.0.1", "category": "development", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "ExaApi", "label": "Exa API", "version": "2.0.0", "category": "search", + "type": "arcade_starter", "toolCount": 45, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Figma", "label": "Figma", "version": "0.1.0", "category": "development", + "type": "arcade", "toolCount": 15, "authType": "oauth2" }, @@ -211,60 +214,61 @@ "label": "Figma API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 43, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Firecrawl", "label": "Firecrawl", "version": "3.0.1", "category": "development", + "type": "arcade", "toolCount": 6, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "FreshserviceApi", "label": "Freshservice API", "version": "3.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 214, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Github", "label": "GitHub", "version": "2.0.1", "category": "development", + "type": "arcade", "toolCount": 44, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GithubApi", "label": "GitHub API", "version": "1.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 818, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Gmail", "label": "Gmail", "version": "4.1.0", "category": "productivity", + "type": "arcade", "toolCount": 18, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Google", "label": "Google", "version": "2.0.2", "category": "development", + "type": "arcade", "toolCount": 37, "authType": "oauth2" }, @@ -273,267 +277,268 @@ "label": "Google Calendar", "version": "3.2.2", "category": "productivity", + "type": "arcade", "toolCount": 7, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleContacts", "label": "Google Contacts", "version": "3.4.0", "category": "productivity", + "type": "arcade", "toolCount": 5, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleDocs", "label": "Google Docs", - "version": "5.0.1", + "version": "5.0.3", "category": "productivity", + "type": "arcade", "toolCount": 13, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleDrive", "label": "Google Drive", "version": "5.1.0", "category": "productivity", + "type": "arcade", "toolCount": 11, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleFinance", "label": "Google Finance", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleFlights", "label": "Google Flights", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleHotels", "label": "Google Hotels", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleJobs", "label": "Google Jobs", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleMaps", "label": "Google Maps", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleNews", "label": "Google News", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleSearch", "label": "Google Search", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleSheets", "label": "Google Sheets", - "version": "5.1.0", + "version": "5.1.1", "category": "productivity", + "type": "arcade", "toolCount": 9, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleShopping", "label": "Google Shopping", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleSlides", "label": "Google Slides", - "version": "1.3.2", + "version": "1.3.3", "category": "productivity", + "type": "arcade", "toolCount": 8, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Hubspot", "label": "HubSpot", "version": "3.0.0", "category": "sales", + "type": "arcade", "toolCount": 40, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "HubspotAutomationApi", "label": "HubSpot Automation API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 9, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotCmsApi", "label": "HubSpot CMS API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 175, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotConversationsApi", "label": "HubSpot Conversations API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 24, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotCrmApi", "label": "HubSpot CRM API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 453, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotEventsApi", "label": "HubSpot Events API", "version": "2.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 6, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotMarketingApi", "label": "HubSpot Marketing API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 90, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotMeetingsApi", "label": "HubSpot Meetings API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 5, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotUsersApi", "label": "HubSpot Users API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 7, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Imgflip", "label": "Imgflip", "version": "1.0.1", "category": "entertainment", + "type": "arcade", "toolCount": 3, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "IntercomApi", "label": "Intercom API", "version": "1.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 107, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Jira", "label": "Jira", "version": "3.0.2", "category": "productivity", + "type": "auth", "toolCount": 43, - "authType": "oauth2", - "type": "auth" + "authType": "oauth2" }, { "id": "Linear", "label": "Linear", - "version": "3.2.0", + "version": "3.2.1", "category": "productivity", + "type": "arcade", "toolCount": 39, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Linkedin", "label": "LinkedIn", "version": "0.1.14", "category": "social", + "type": "arcade", "toolCount": 1, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "LumaApi", "label": "Luma API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 37, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "MailchimpMarketingApi", - "label": "MailchimpMarketingApi", + "label": "Mailchimp API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 278, "authType": "oauth2" }, @@ -542,6 +547,7 @@ "label": "Math", "version": "1.0.5", "category": "development", + "type": "arcade", "toolCount": 23, "authType": "none" }, @@ -550,6 +556,7 @@ "label": "Microsoft", "version": "1.1.1", "category": "development", + "type": "arcade", "toolCount": 11, "authType": "oauth2" }, @@ -558,51 +565,52 @@ "label": "Microsoft Teams", "version": "0.4.1", "category": "social", + "type": "arcade", "toolCount": 25, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "MiroApi", "label": "Miro API", "version": "3.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 139, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "NotionToolkit", "label": "Notion", "version": "1.2.1", "category": "productivity", + "type": "arcade", "toolCount": 8, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "OutlookCalendar", "label": "Outlook Calendar", "version": "2.2.1", "category": "productivity", + "type": "arcade", "toolCount": 4, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "OutlookMail", "label": "Outlook Mail", "version": "2.3.0", "category": "productivity", + "type": "arcade", "toolCount": 9, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Pagerduty", "label": "Pagerduty", "version": "0.2.0", "category": "development", + "type": "arcade", "toolCount": 14, "authType": "oauth2" }, @@ -611,24 +619,25 @@ "label": "PagerDuty API", "version": "4.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 374, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "PosthogApi", "label": "PostHog API", "version": "2.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 766, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Pylon", "label": "Pylon", "version": "0.2.0", "category": "development", + "type": "arcade", "toolCount": 13, "authType": "none" }, @@ -637,6 +646,7 @@ "label": "PylonApi", "version": "1.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 82, "authType": "none" }, @@ -645,95 +655,97 @@ "label": "Reddit", "version": "1.1.1", "category": "social", + "type": "arcade", "toolCount": 11, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Salesforce", "label": "Salesforce", "version": "2.0.1", "category": "sales", + "type": "arcade", "toolCount": 3, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Search", "label": "Search", "version": "2.0.1", "category": "development", + "type": "arcade", "toolCount": 15, "authType": "none" }, { "id": "Sharepoint", "label": "Microsoft SharePoint", - "version": "0.4.1", + "version": "0.7.0", "category": "productivity", - "toolCount": 12, - "authType": "oauth2", - "type": "arcade" + "type": "arcade", + "toolCount": 28, + "authType": "oauth2" }, { "id": "Slack", "label": "Slack", - "version": "2.0.0", + "version": "2.1.0", "category": "social", - "toolCount": 8, - "authType": "oauth2", - "type": "arcade" + "type": "arcade", + "toolCount": 9, + "authType": "oauth2" }, { "id": "SlackApi", "label": "Slack API", "version": "1.0.0", "category": "social", + "type": "arcade_starter", "toolCount": 73, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Spotify", "label": "Spotify", "version": "1.0.2", "category": "entertainment", + "type": "arcade", "toolCount": 13, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "SquareupApi", "label": "SquareUp API", "version": "4.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 286, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Stripe", "label": "Stripe", - "version": "1.0.1", + "version": "1.0.2", "category": "payments", + "type": "arcade", "toolCount": 15, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "StripeApi", "label": "Stripe API", "version": "1.0.0", "category": "payments", + "type": "arcade_starter", "toolCount": 220, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Test2", "label": "Test2", "version": "0.1.0", "category": "development", + "type": "arcade", "toolCount": 6, "authType": "none" }, @@ -742,24 +754,25 @@ "label": "TickTick API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 11, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "TrelloApi", "label": "Trello API", "version": "3.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 246, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "UpclickApi", - "label": "UpclickApi", + "label": "ClickUp API", "version": "0.1.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 7, "authType": "oauth2" }, @@ -768,89 +781,90 @@ "label": "Vercel API", "version": "1.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 194, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Walmart", "label": "Walmart", "version": "3.0.1", "category": "search", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "WeaviateApi", "label": "Weaviate API", "version": "2.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 81, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Web", "label": "Web", "version": "2.0.1", "category": "development", + "type": "arcade", "toolCount": 6, "authType": "none" }, { "id": "X", "label": "X", - "version": "1.1.1", + "version": "1.3.1", "category": "social", - "toolCount": 7, - "authType": "oauth2", - "type": "arcade" + "type": "arcade", + "toolCount": 8, + "authType": "oauth2" }, { "id": "XeroApi", "label": "Xero API", "version": "2.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 153, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Youtube", "label": "Youtube", - "version": "3.1.2", + "version": "3.1.4", "category": "search", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "Zendesk", "label": "Zendesk", "version": "0.3.1", "category": "customer-support", + "type": "arcade", "toolCount": 6, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "ZohoBooksApi", "label": "Zoho Books API", - "version": "0.0.0", + "version": "1.0.0", "category": "payments", - "toolCount": 0, - "authType": "none", - "type": "arcade_starter" + "type": "arcade_starter", + "toolCount": 511, + "authType": "oauth2" }, { "id": "Zoom", "label": "Zoom", "version": "1.0.1", "category": "social", + "type": "arcade", "toolCount": 2, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" } ] -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/linear.json b/toolkit-docs-generator/data/toolkits/linear.json index 0e2e58baf..f8325f42e 100644 --- a/toolkit-docs-generator/data/toolkits/linear.json +++ b/toolkit-docs-generator/data/toolkits/linear.json @@ -1,7 +1,7 @@ { "id": "Linear", "label": "Linear", - "version": "3.2.0", + "version": "3.2.1", "description": "Arcade tools designed for LLMs to interact with Linear", "metadata": { "category": "productivity", @@ -9,20 +9,25 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/linear", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/linear", "isComingSoon": false, "isHidden": false }, "auth": { "type": "oauth2", "providerId": "linear", - "allScopes": ["comments:create", "issues:create", "read", "write"] + "allScopes": [ + "comments:create", + "issues:create", + "read", + "write" + ] }, "tools": [ { "name": "AddComment", "qualifiedName": "Linear.AddComment", - "fullyQualifiedName": "Linear.AddComment@3.2.0", + "fullyQualifiedName": "Linear.AddComment@3.2.1", "description": "Add a comment to an issue.", "parameters": [ { @@ -45,7 +50,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["comments:create"] + "scopes": [ + "comments:create" + ] }, "secrets": [], "secretsInfo": [], @@ -63,7 +70,7 @@ "required": true }, "body": { - "value": "This is a comment on the issue. **Important:** Please review this.", + "value": "Thanks for reporting this. Reproduced on macOS 13.\n\nSteps to reproduce:\n1. Open the app\n2. Click the \"Export\" button\n3. Select CSV and confirm\n\nObserved: the app crashes with error `NullReferenceException`.\nExpected: export completes successfully.\n\nI've assigned this to @alice and opened a fix branch `fix/crash-issue-123`. Please review and let me know if you need more details.", "type": "string", "required": true } @@ -76,7 +83,7 @@ { "name": "AddProjectComment", "qualifiedName": "Linear.AddProjectComment", - "fullyQualifiedName": "Linear.AddProjectComment@3.2.0", + "fullyQualifiedName": "Linear.AddProjectComment@3.2.1", "description": "Add a comment to a project's document content.\n\nIMPORTANT: Due to Linear API limitations, comments created via the API will NOT\nappear visually anchored inline in the document (no yellow highlight on text).\nThe comment will be stored and can be retrieved via list_project_comments, but\nit will appear in the comments panel rather than inline in the document.\n\nFor true inline comments that are visually anchored to text, users should create\nthem directly in the Linear UI by selecting text and adding a comment.\n\nThe quoted_text parameter stores metadata about what text the comment references,\nwhich is useful for context even though the comment won't be visually anchored.", "parameters": [ { @@ -115,7 +122,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["comments:create"] + "scopes": [ + "comments:create" + ] }, "secrets": [], "secretsInfo": [], @@ -128,22 +137,22 @@ "toolName": "Linear.AddProjectComment", "parameters": { "project": { - "value": "proj-12345", + "value": "proj_01G8Z1Y5M2ABCDEFG", "type": "string", "required": true }, "body": { - "value": "This is a comment about the project.", + "value": "Thanks for the update — I have a couple of suggestions:\n\n1. Reword the second paragraph to clarify the timeline.\n2. Add a link to the design spec under \"References\".\n\nIf helpful, I can draft the revised paragraph and attach the spec link.", "type": "string", "required": true }, "quoted_text": { - "value": "Project milestones must be met by Q3.", + "value": "We plan to complete the initial implementation by Q3, pending design sign-off.", "type": "string", "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -156,7 +165,7 @@ { "name": "AddProjectToInitiative", "qualifiedName": "Linear.AddProjectToInitiative", - "fullyQualifiedName": "Linear.AddProjectToInitiative@3.2.0", + "fullyQualifiedName": "Linear.AddProjectToInitiative@3.2.1", "description": "Link a project to an initiative.\n\nBoth initiative and project can be specified by ID or name.\nIf a name is provided, fuzzy matching is used to resolve it.", "parameters": [ { @@ -187,7 +196,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -200,12 +211,12 @@ "toolName": "Linear.AddProjectToInitiative", "parameters": { "initiative": { - "value": "Initiative Alpha", + "value": "init_98765", "type": "string", "required": true }, "project": { - "value": "Project Beta", + "value": "Mobile App Redesign", "type": "string", "required": true }, @@ -223,7 +234,7 @@ { "name": "ArchiveInitiative", "qualifiedName": "Linear.ArchiveInitiative", - "fullyQualifiedName": "Linear.ArchiveInitiative@3.2.0", + "fullyQualifiedName": "Linear.ArchiveInitiative@3.2.1", "description": "Archive an initiative.\n\nArchived initiatives are hidden from default views but can be restored.", "parameters": [ { @@ -246,7 +257,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -259,7 +272,7 @@ "toolName": "Linear.ArchiveInitiative", "parameters": { "initiative": { - "value": "2023_Q3_Marketing_Plan", + "value": "onboarding-redesign-2026", "type": "string", "required": true }, @@ -277,7 +290,7 @@ { "name": "ArchiveIssue", "qualifiedName": "Linear.ArchiveIssue", - "fullyQualifiedName": "Linear.ArchiveIssue@3.2.0", + "fullyQualifiedName": "Linear.ArchiveIssue@3.2.1", "description": "Archive an issue.\n\nArchived issues are hidden from default views but can be restored.", "parameters": [ { @@ -292,7 +305,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -305,7 +320,7 @@ "toolName": "Linear.ArchiveIssue", "parameters": { "issue": { - "value": "ISSUE-123", + "value": "ISSUE-12345", "type": "string", "required": true } @@ -318,7 +333,7 @@ { "name": "ArchiveProject", "qualifiedName": "Linear.ArchiveProject", - "fullyQualifiedName": "Linear.ArchiveProject@3.2.0", + "fullyQualifiedName": "Linear.ArchiveProject@3.2.1", "description": "Archive a project.\n\nArchived projects are hidden from default views but can be restored.", "parameters": [ { @@ -341,7 +356,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -354,7 +371,7 @@ "toolName": "Linear.ArchiveProject", "parameters": { "project": { - "value": "example-project-123", + "value": "proj-12345", "type": "string", "required": true }, @@ -372,7 +389,7 @@ { "name": "CreateInitiative", "qualifiedName": "Linear.CreateInitiative", - "fullyQualifiedName": "Linear.CreateInitiative@3.2.0", + "fullyQualifiedName": "Linear.CreateInitiative@3.2.1", "description": "Create a new Linear initiative.\n\nInitiatives are high-level strategic goals that group related projects.", "parameters": [ { @@ -418,7 +435,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -431,22 +450,22 @@ "toolName": "Linear.CreateInitiative", "parameters": { "name": { - "value": "Expand Market Presence", + "value": "Q4 Product Strategy Initiative", "type": "string", "required": true }, "description": { - "value": "### Goal\nIncrease our market penetration in the following regions:\n- North America\n- Europe\n\n### Expected Outcomes\n- 20% increase in sales\n- Improved brand recognition", + "value": "Drive cross-functional efforts to refine product vision, prioritize the roadmap, and deliver key platform improvements.\n\nGoals:\n- Unify user onboarding flow\n- Improve core API performance by 30%\n- Launch analytics dashboard\n\nStakeholders: Product, Engineering, Design", "type": "string", "required": false }, "status": { - "value": "in progress", + "value": "Planned", "type": "string", "required": false }, "target_date": { - "value": "2024-12-31", + "value": "2026-12-31", "type": "string", "required": false } @@ -459,7 +478,7 @@ { "name": "CreateIssue", "qualifiedName": "Linear.CreateIssue", - "fullyQualifiedName": "Linear.CreateIssue@3.2.0", + "fullyQualifiedName": "Linear.CreateIssue@3.2.1", "description": "Create a new Linear issue with validation.\n\nWhen assignee is None or '@me', the issue is assigned to the authenticated user.\nAll entity references (team, assignee, labels, state, project, cycle, parent)\nare validated before creation. If an entity is not found, suggestions are\nreturned to help correct the input.", "parameters": [ { @@ -508,7 +527,13 @@ "type": "string", "required": false, "description": "Issue priority. Default is None (no priority).", - "enum": ["none", "urgent", "high", "medium", "low"], + "enum": [ + "none", + "urgent", + "high", + "medium", + "low" + ], "inferrable": true }, { @@ -587,7 +612,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["issues:create"] + "scopes": [ + "issues:create" + ] }, "secrets": [], "secretsInfo": [], @@ -600,17 +627,17 @@ "toolName": "Linear.CreateIssue", "parameters": { "team": { - "value": "Engineering", + "value": "frontend", "type": "string", "required": true }, "title": { - "value": "Fix login bug", + "value": "Fix login redirect when session expires", "type": "string", "required": true }, "description": { - "value": "There is an issue with the login functionality that needs to be addressed. Please check the backend logs for more details.", + "value": "When a user's session expires and they attempt to access a protected page, the app redirects them to /login but does not preserve the original destination. Steps to reproduce:\n\n1. Log in\n2. Let session expire\n3. Navigate to /dashboard\n\nExpected: After re-authentication, user should be redirected back to /dashboard.\n\nObserved: User is sent to homepage.\n\nProposed fix: Preserve original URL in the query string and perform redirect after successful login.", "type": "string", "required": false }, @@ -620,57 +647,61 @@ "required": false }, "labels_to_add": { - "value": ["bug", " urgent"], + "value": [ + "bug", + "frontend", + "regression" + ], "type": "array", "required": false }, "priority": { - "value": "high", + "value": "High", "type": "string", "required": false }, "state": { - "value": "In Progress", + "value": "Backlog", "type": "string", "required": false }, "project": { - "value": "User Authentication", + "value": "website-redesign", "type": "string", "required": false }, "cycle": { - "value": "Q4-2023", + "value": "Sprint 42", "type": "string", "required": false }, "parent_issue": { - "value": null, + "value": "ISSUE-5678", "type": "string", "required": false }, "estimate": { - "value": 5, + "value": 3, "type": "integer", "required": false }, "due_date": { - "value": "2023-11-01", + "value": "2026-03-01", "type": "string", "required": false }, "attachment_url": { - "value": "https://example.com/screenshot.png", + "value": "https://www.example.com/screenshots/login-redirect.png", "type": "string", "required": false }, "attachment_title": { - "value": "Login Bug Screenshot", + "value": "Login redirect failure - screenshot", "type": "string", "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -683,7 +714,7 @@ { "name": "CreateIssueRelation", "qualifiedName": "Linear.CreateIssueRelation", - "fullyQualifiedName": "Linear.CreateIssueRelation@3.2.0", + "fullyQualifiedName": "Linear.CreateIssueRelation@3.2.1", "description": "Create a relation between two issues.\n\nRelation types define the relationship from the source issue's perspective:\n- blocks: Source issue blocks the related issue\n- blockedBy: Source issue is blocked by the related issue\n- duplicate: Source issue is a duplicate of the related issue\n- related: Issues are related (bidirectional)", "parameters": [ { @@ -707,14 +738,21 @@ "type": "string", "required": true, "description": "Type of relation to create.", - "enum": ["blocks", "blockedBy", "duplicate", "related"], + "enum": [ + "blocks", + "blockedBy", + "duplicate", + "related" + ], "inferrable": true } ], "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -727,12 +765,12 @@ "toolName": "Linear.CreateIssueRelation", "parameters": { "issue": { - "value": "ISSUE-123", + "value": "ISSUE-100", "type": "string", "required": true }, "related_issue": { - "value": "ISSUE-456", + "value": "ISSUE-101", "type": "string", "required": true }, @@ -750,7 +788,7 @@ { "name": "CreateProject", "qualifiedName": "Linear.CreateProject", - "fullyQualifiedName": "Linear.CreateProject@3.2.0", + "fullyQualifiedName": "Linear.CreateProject@3.2.1", "description": "Create a new Linear project.\n\nTeam is validated before creation. If team is not found, suggestions are\nreturned to help correct the input. Lead is validated if provided.", "parameters": [ { @@ -836,7 +874,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -849,47 +889,47 @@ "toolName": "Linear.CreateProject", "parameters": { "name": { - "value": "New Product Launch", + "value": "Mobile App Revamp", "type": "string", "required": true }, "team": { - "value": "Marketing", + "value": "product-team", "type": "string", "required": true }, "description": { - "value": "This project focuses on the launch of our new product line.", + "value": "Revamp the mobile app UX and performance across iOS and Android. Focus on onboarding, analytics, and core user flows.", "type": "string", "required": false }, "content": { - "value": "# Project Overview\nThis document outlines the strategy and timeline for the product launch.", + "value": "# Mobile App Revamp\n\nGoals:\n- Improve onboarding completion to 60%\n- Reduce cold start time by 40%\n\nScope:\n- Redesign onboarding screens\n- Migrate critical flows to native modules\n- Add analytics and error monitoring\n\nMilestones:\n1. Design signoff\n2. Beta release\n3. Public release", "type": "string", "required": false }, "state": { - "value": "active", + "value": "Planned", "type": "string", "required": false }, "lead": { - "value": "jane.doe@example.com", + "value": "alex.martin@example.com", "type": "string", "required": false }, "start_date": { - "value": "2023-11-01", + "value": "2026-03-01", "type": "string", "required": false }, "target_date": { - "value": "2024-01-15", + "value": "2026-06-30", "type": "string", "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -902,7 +942,7 @@ { "name": "CreateProjectUpdate", "qualifiedName": "Linear.CreateProjectUpdate", - "fullyQualifiedName": "Linear.CreateProjectUpdate@3.2.0", + "fullyQualifiedName": "Linear.CreateProjectUpdate@3.2.1", "description": "Create a project status update.\n\nProject updates are posts that communicate progress, blockers, or status\nchanges to stakeholders. They appear in the project's Updates tab and\ncan include a health status indicator.", "parameters": [ { @@ -926,14 +966,20 @@ "type": "string", "required": false, "description": "Project health status. Default is None (no change).", - "enum": ["onTrack", "atRisk", "offTrack"], + "enum": [ + "onTrack", + "atRisk", + "offTrack" + ], "inferrable": true } ], "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -946,17 +992,17 @@ "toolName": "Linear.CreateProjectUpdate", "parameters": { "project_id": { - "value": "proj_123456", + "value": "proj_01A2B3C4", "type": "string", "required": true }, "body": { - "value": "## Update on Project Progress\n\nWe have made significant progress this week. The new features are nearing completion and we are on track for the launch. \n\n**Blockers:** \n- Awaiting feedback from the design team on UI components.\n\n**Next Steps:** \n- Finalize testing by end of the week.", + "value": "## Project Update — Week of 2026-02-16\n\n### Progress\n- Completed integration of the new payments API (PR #342).\n- Deployed frontend form validation to staging.\n- Updated documentation for onboarding flow.\n\n### Blockers\n- Flaky end-to-end tests causing CI instability.\n- Pending security review for token storage approach; awaiting sign-off from SecOps.\n\n### Next Steps\n1. Stabilize e2e tests and re-run CI pipeline.\n2. Merge feature branch and deploy to staging for broader QA.\n3. Address any security review feedback.\n\nIf you have questions or need a demo, ping @product or @eng-lead.", "type": "string", "required": true }, "health": { - "value": "On Track", + "value": "at_risk", "type": "string", "required": false } @@ -969,7 +1015,7 @@ { "name": "GetCycle", "qualifiedName": "Linear.GetCycle", - "fullyQualifiedName": "Linear.GetCycle@3.2.0", + "fullyQualifiedName": "Linear.GetCycle@3.2.1", "description": "Get detailed information about a specific Linear cycle.", "parameters": [ { @@ -984,7 +1030,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -997,7 +1045,7 @@ "toolName": "Linear.GetCycle", "parameters": { "cycle_id": { - "value": "abc123", + "value": "cycle_1234567890", "type": "string", "required": true } @@ -1010,7 +1058,7 @@ { "name": "GetInitiative", "qualifiedName": "Linear.GetInitiative", - "fullyQualifiedName": "Linear.GetInitiative@3.2.0", + "fullyQualifiedName": "Linear.GetInitiative@3.2.1", "description": "Get detailed information about a specific Linear initiative.\n\nSupports lookup by ID or name (with fuzzy matching for name).", "parameters": [ { @@ -1026,7 +1074,10 @@ "type": "string", "required": false, "description": "How to look up the initiative. Default is id.", - "enum": ["id", "name"], + "enum": [ + "id", + "name" + ], "inferrable": true }, { @@ -1049,7 +1100,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1062,12 +1115,12 @@ "toolName": "Linear.GetInitiative", "parameters": { "value": { - "value": "12345", + "value": "New Product Launch Initiative", "type": "string", "required": true }, "lookup_by": { - "value": "id", + "value": "name", "type": "string", "required": false }, @@ -1077,7 +1130,7 @@ "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -1090,7 +1143,7 @@ { "name": "GetInitiativeDescription", "qualifiedName": "Linear.GetInitiativeDescription", - "fullyQualifiedName": "Linear.GetInitiativeDescription@3.2.0", + "fullyQualifiedName": "Linear.GetInitiativeDescription@3.2.1", "description": "Get an initiative's full description with pagination support.\n\nUse this tool when you need the complete description of an initiative that\nwas truncated in the get_initiative response. Supports chunked reading for\nvery large descriptions.", "parameters": [ { @@ -1121,7 +1174,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1134,7 +1189,7 @@ "toolName": "Linear.GetInitiativeDescription", "parameters": { "initiative_id": { - "value": "12345", + "value": "init_1234567890abcdef", "type": "string", "required": true }, @@ -1144,7 +1199,7 @@ "required": false }, "limit": { - "value": 1500, + "value": 2000, "type": "integer", "required": false } @@ -1157,7 +1212,7 @@ { "name": "GetIssue", "qualifiedName": "Linear.GetIssue", - "fullyQualifiedName": "Linear.GetIssue@3.2.0", + "fullyQualifiedName": "Linear.GetIssue@3.2.1", "description": "Get detailed information about a specific Linear issue.\n\nAccepts either the issue UUID or the human-readable identifier (like TOO-123).", "parameters": [ { @@ -1204,7 +1259,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1227,7 +1284,7 @@ "required": false }, "include_attachments": { - "value": true, + "value": false, "type": "boolean", "required": false }, @@ -1237,7 +1294,7 @@ "required": false }, "include_children": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -1250,7 +1307,7 @@ { "name": "GetNotifications", "qualifiedName": "Linear.GetNotifications", - "fullyQualifiedName": "Linear.GetNotifications@3.2.0", + "fullyQualifiedName": "Linear.GetNotifications@3.2.1", "description": "Get the authenticated user's notifications.\n\nReturns notifications including issue mentions, comments, assignments,\nand state changes.", "parameters": [ { @@ -1281,7 +1338,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1299,12 +1358,12 @@ "required": false }, "limit": { - "value": 15, + "value": 25, "type": "integer", "required": false }, "end_cursor": { - "value": "abc123", + "value": "cursor_eyJpZCI6IjEyMzQ1NiJ9", "type": "string", "required": false } @@ -1317,7 +1376,7 @@ { "name": "GetProject", "qualifiedName": "Linear.GetProject", - "fullyQualifiedName": "Linear.GetProject@3.2.0", + "fullyQualifiedName": "Linear.GetProject@3.2.1", "description": "Get detailed information about a specific Linear project.\n\nSupports lookup by ID, slug_id, or name (with fuzzy matching for name).", "parameters": [ { @@ -1333,7 +1392,11 @@ "type": "string", "required": false, "description": "How to look up the project. Default is id.", - "enum": ["id", "slug_id", "name"], + "enum": [ + "id", + "slug_id", + "name" + ], "inferrable": true }, { @@ -1364,7 +1427,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1377,12 +1442,12 @@ "toolName": "Linear.GetProject", "parameters": { "value": { - "value": "proj-1234", + "value": "Website Redesign", "type": "string", "required": true }, "lookup_by": { - "value": "id", + "value": "name", "type": "string", "required": false }, @@ -1392,12 +1457,12 @@ "required": false }, "include_comments": { - "value": false, + "value": true, "type": "boolean", "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -1410,7 +1475,7 @@ { "name": "GetProjectDescription", "qualifiedName": "Linear.GetProjectDescription", - "fullyQualifiedName": "Linear.GetProjectDescription@3.2.0", + "fullyQualifiedName": "Linear.GetProjectDescription@3.2.1", "description": "Get a project's full description with pagination support.\n\nUse this tool when you need the complete description of a project that\nwas truncated in the get_project response. Supports chunked reading for\nvery large descriptions.", "parameters": [ { @@ -1441,7 +1506,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1454,12 +1521,12 @@ "toolName": "Linear.GetProjectDescription", "parameters": { "project_id": { - "value": "proj-1234", + "value": "marketing-team-2024", "type": "string", "required": true }, "offset": { - "value": 0, + "value": 1200, "type": "integer", "required": false }, @@ -1477,7 +1544,7 @@ { "name": "GetRecentActivity", "qualifiedName": "Linear.GetRecentActivity", - "fullyQualifiedName": "Linear.GetRecentActivity@3.2.0", + "fullyQualifiedName": "Linear.GetRecentActivity@3.2.1", "description": "Get the authenticated user's recent issue activity.\n\nReturns issues the user has recently created or been assigned to\nwithin the specified time period.", "parameters": [ { @@ -1500,7 +1567,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1513,12 +1582,12 @@ "toolName": "Linear.GetRecentActivity", "parameters": { "days": { - "value": 15, + "value": 14, "type": "integer", "required": false }, "limit": { - "value": 25, + "value": 10, "type": "integer", "required": false } @@ -1531,7 +1600,7 @@ { "name": "GetTeam", "qualifiedName": "Linear.GetTeam", - "fullyQualifiedName": "Linear.GetTeam@3.2.0", + "fullyQualifiedName": "Linear.GetTeam@3.2.1", "description": "Get detailed information about a specific Linear team.\n\nSupports lookup by ID, key (like TOO, ENG), or name (with fuzzy matching).", "parameters": [ { @@ -1547,7 +1616,11 @@ "type": "string", "required": false, "description": "How to look up the team. Default is id.", - "enum": ["id", "key", "name"], + "enum": [ + "id", + "key", + "name" + ], "inferrable": true }, { @@ -1562,7 +1635,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1585,7 +1660,7 @@ "required": false }, "auto_accept_matches": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -1598,7 +1673,7 @@ { "name": "LinkGithubToIssue", "qualifiedName": "Linear.LinkGithubToIssue", - "fullyQualifiedName": "Linear.LinkGithubToIssue@3.2.0", + "fullyQualifiedName": "Linear.LinkGithubToIssue@3.2.1", "description": "Link a GitHub PR, commit, or issue to a Linear issue.\n\nAutomatically detects the artifact type from the URL and generates\nan appropriate title if not provided.", "parameters": [ { @@ -1629,7 +1704,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -1642,17 +1719,17 @@ "toolName": "Linear.LinkGithubToIssue", "parameters": { "issue": { - "value": "PROJECT-123", + "value": "PROJ-123", "type": "string", "required": true }, "github_url": { - "value": "https://github.com/user/repo/pull/456", + "value": "https://github.com/octocat/Hello-World/pull/42", "type": "string", "required": true }, "title": { - "value": "Linking PR to Linear Issue", + "value": "GitHub PR #42: Fix README typo", "type": "string", "required": false } @@ -1665,7 +1742,7 @@ { "name": "ListComments", "qualifiedName": "Linear.ListComments", - "fullyQualifiedName": "Linear.ListComments@3.2.0", + "fullyQualifiedName": "Linear.ListComments@3.2.1", "description": "List comments on an issue.\n\nReturns comments with user info, timestamps, and reply threading info.", "parameters": [ { @@ -1696,7 +1773,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1709,17 +1788,17 @@ "toolName": "Linear.ListComments", "parameters": { "issue": { - "value": "ISSUE-12345", + "value": "ISSUE-123", "type": "string", "required": true }, "limit": { - "value": 20, + "value": 25, "type": "integer", "required": false }, "end_cursor": { - "value": null, + "value": "cursor_ABCdef123", "type": "string", "required": false } @@ -1732,7 +1811,7 @@ { "name": "ListCycles", "qualifiedName": "Linear.ListCycles", - "fullyQualifiedName": "Linear.ListCycles@3.2.0", + "fullyQualifiedName": "Linear.ListCycles@3.2.1", "description": "List Linear cycles, optionally filtered by team and status.\n\nCycles are time-boxed iterations (like sprints) for organizing work.", "parameters": [ { @@ -1779,7 +1858,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1792,7 +1873,7 @@ "toolName": "Linear.ListCycles", "parameters": { "team": { - "value": "team_123", + "value": "frontend-team", "type": "string", "required": false }, @@ -1812,7 +1893,7 @@ "required": false }, "end_cursor": { - "value": "abc123", + "value": "cursor_0001aBc", "type": "string", "required": false } @@ -1825,7 +1906,7 @@ { "name": "ListInitiatives", "qualifiedName": "Linear.ListInitiatives", - "fullyQualifiedName": "Linear.ListInitiatives@3.2.0", + "fullyQualifiedName": "Linear.ListInitiatives@3.2.1", "description": "List Linear initiatives, optionally filtered by keywords and other criteria.\n\nReturns all initiatives when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -1871,7 +1952,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1884,12 +1967,12 @@ "toolName": "Linear.ListInitiatives", "parameters": { "keywords": { - "value": "development", + "value": "data migration", "type": "string", "required": false }, "state": { - "value": "active", + "value": "started", "type": "string", "required": false }, @@ -1899,7 +1982,7 @@ "required": false }, "end_cursor": { - "value": "abc123", + "value": "YXJyYXljb25uZWN0aW9uOjIw", "type": "string", "required": false } @@ -1912,7 +1995,7 @@ { "name": "ListIssues", "qualifiedName": "Linear.ListIssues", - "fullyQualifiedName": "Linear.ListIssues@3.2.0", + "fullyQualifiedName": "Linear.ListIssues@3.2.1", "description": "List Linear issues, optionally filtered by keywords and other criteria.\n\nReturns all issues when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -1952,7 +2035,13 @@ "type": "string", "required": false, "description": "Filter by priority level. Default is None.", - "enum": ["none", "urgent", "high", "medium", "low"], + "enum": [ + "none", + "urgent", + "high", + "medium", + "low" + ], "inferrable": true }, { @@ -1999,7 +2088,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2012,17 +2103,17 @@ "toolName": "Linear.ListIssues", "parameters": { "keywords": { - "value": "bug fix", + "value": "authentication timeout", "type": "string", "required": false }, "team": { - "value": "development", + "value": "Platform", "type": "string", "required": false }, "state": { - "value": "in progress", + "value": "In Progress", "type": "string", "required": false }, @@ -2032,22 +2123,22 @@ "required": false }, "priority": { - "value": "high", + "value": "High", "type": "string", "required": false }, "label": { - "value": "urgent", + "value": "bug", "type": "string", "required": false }, "project": { - "value": "website redesign", + "value": "Mobile Revamp", "type": "string", "required": false }, "created_after": { - "value": "2023-01-01", + "value": "2026-01-01", "type": "string", "required": false }, @@ -2057,7 +2148,7 @@ "required": false }, "end_cursor": { - "value": "abc123", + "value": "cursor_ABC123", "type": "string", "required": false } @@ -2070,7 +2161,7 @@ { "name": "ListLabels", "qualifiedName": "Linear.ListLabels", - "fullyQualifiedName": "Linear.ListLabels@3.2.0", + "fullyQualifiedName": "Linear.ListLabels@3.2.1", "description": "List available issue labels in the workspace.\n\nReturns labels that can be applied to issues. Use label IDs or names\nwhen creating or updating issues.", "parameters": [ { @@ -2085,7 +2176,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2098,7 +2191,7 @@ "toolName": "Linear.ListLabels", "parameters": { "limit": { - "value": 30, + "value": 25, "type": "integer", "required": false } @@ -2111,7 +2204,7 @@ { "name": "ListProjectComments", "qualifiedName": "Linear.ListProjectComments", - "fullyQualifiedName": "Linear.ListProjectComments@3.2.0", + "fullyQualifiedName": "Linear.ListProjectComments@3.2.1", "description": "List comments on a project's document content.\n\nReturns comments with user info, timestamps, quoted text for inline comments,\nand reply threading info. Replies are nested under their parent comments.\n\nUse comment_filter to control which comments are returned:\n- only_quoted (default): Only comments attached to a quote in the text\n- only_unquoted: Only comments not attached to a particular quote\n- all: All comments regardless of being attached to a quote or not", "parameters": [ { @@ -2127,7 +2220,11 @@ "type": "string", "required": false, "description": "Filter which comments to return. Default is only_quoted.", - "enum": ["only_quoted", "only_unquoted", "all"], + "enum": [ + "only_quoted", + "only_unquoted", + "all" + ], "inferrable": true }, { @@ -2166,7 +2263,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2179,12 +2278,12 @@ "toolName": "Linear.ListProjectComments", "parameters": { "project": { - "value": "12345", + "value": "proj_01F3ZK8Q", "type": "string", "required": true }, "comment_filter": { - "value": "only_unquoted", + "value": "all", "type": "string", "required": false }, @@ -2194,17 +2293,17 @@ "required": false }, "limit": { - "value": 25, + "value": 30, "type": "integer", "required": false }, "end_cursor": { - "value": "abc123", + "value": "YXJyYXljb25uZWN0aW9uOjIw", "type": "string", "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -2217,7 +2316,7 @@ { "name": "ListProjects", "qualifiedName": "Linear.ListProjects", - "fullyQualifiedName": "Linear.ListProjects@3.2.0", + "fullyQualifiedName": "Linear.ListProjects@3.2.1", "description": "List Linear projects, optionally filtered by keywords and other criteria.\n\nReturns all projects when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -2272,7 +2371,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2285,7 +2386,7 @@ "toolName": "Linear.ListProjects", "parameters": { "keywords": { - "value": "development", + "value": "authentication", "type": "string", "required": false }, @@ -2295,22 +2396,22 @@ "required": false }, "team": { - "value": "engineering", + "value": "Platform Team", "type": "string", "required": false }, "created_after": { - "value": "2022-01-01", + "value": "2024-01-01", "type": "string", "required": false }, "limit": { - "value": 10, + "value": 25, "type": "integer", "required": false }, "end_cursor": { - "value": null, + "value": "YXJyYXljb25uZWN0aW9uOjI=", "type": "string", "required": false } @@ -2323,7 +2424,7 @@ { "name": "ListTeams", "qualifiedName": "Linear.ListTeams", - "fullyQualifiedName": "Linear.ListTeams@3.2.0", + "fullyQualifiedName": "Linear.ListTeams@3.2.1", "description": "List Linear teams, optionally filtered by keywords and other criteria.\n\nReturns all teams when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -2370,7 +2471,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2383,17 +2486,17 @@ "toolName": "Linear.ListTeams", "parameters": { "keywords": { - "value": "development", + "value": "frontend", "type": "string", "required": false }, "include_archived": { - "value": true, + "value": false, "type": "boolean", "required": false }, "created_after": { - "value": "2022-01-01", + "value": "2023-01-01", "type": "string", "required": false }, @@ -2403,7 +2506,7 @@ "required": false }, "end_cursor": { - "value": "cursor_value_123", + "value": "cursor_abc123", "type": "string", "required": false } @@ -2416,7 +2519,7 @@ { "name": "ListWorkflowStates", "qualifiedName": "Linear.ListWorkflowStates", - "fullyQualifiedName": "Linear.ListWorkflowStates@3.2.0", + "fullyQualifiedName": "Linear.ListWorkflowStates@3.2.1", "description": "List available workflow states in the workspace.\n\nReturns workflow states that can be used for issue transitions.\nStates are team-specific and have different types.", "parameters": [ { @@ -2454,7 +2557,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2467,17 +2572,17 @@ "toolName": "Linear.ListWorkflowStates", "parameters": { "team": { - "value": "development", + "value": "backend", "type": "string", "required": false }, "state_type": { - "value": "in_progress", + "value": "started", "type": "string", "required": false }, "limit": { - "value": 20, + "value": 25, "type": "integer", "required": false } @@ -2490,7 +2595,7 @@ { "name": "ManageIssueSubscription", "qualifiedName": "Linear.ManageIssueSubscription", - "fullyQualifiedName": "Linear.ManageIssueSubscription@3.2.0", + "fullyQualifiedName": "Linear.ManageIssueSubscription@3.2.1", "description": "Subscribe to or unsubscribe from an issue's notifications.", "parameters": [ { @@ -2513,7 +2618,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["issues:create"] + "scopes": [ + "issues:create" + ] }, "secrets": [], "secretsInfo": [], @@ -2526,7 +2633,7 @@ "toolName": "Linear.ManageIssueSubscription", "parameters": { "issue": { - "value": "ISSUE-1234", + "value": "ISSUE-12345", "type": "string", "required": true }, @@ -2544,7 +2651,7 @@ { "name": "ReplyToComment", "qualifiedName": "Linear.ReplyToComment", - "fullyQualifiedName": "Linear.ReplyToComment@3.2.0", + "fullyQualifiedName": "Linear.ReplyToComment@3.2.1", "description": "Reply to an existing comment on an issue.\n\nCreates a threaded reply to the specified parent comment.", "parameters": [ { @@ -2575,7 +2682,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["comments:create"] + "scopes": [ + "comments:create" + ] }, "secrets": [], "secretsInfo": [], @@ -2593,12 +2702,12 @@ "required": true }, "parent_comment_id": { - "value": "COMMENT-5678", + "value": "comment_987654321", "type": "string", "required": true }, "body": { - "value": "Thanks for your feedback! I appreciate your insights.", + "value": "Thanks for the report — I can reproduce this. I'll investigate and post an update here.\n\nSteps I'll take:\n\n- Reproduce locally\n- Add a unit test\n- Prepare a fix and run CI\n\nCan you confirm which version you were running? Thanks!", "type": "string", "required": true } @@ -2611,7 +2720,7 @@ { "name": "ReplyToProjectComment", "qualifiedName": "Linear.ReplyToProjectComment", - "fullyQualifiedName": "Linear.ReplyToProjectComment@3.2.0", + "fullyQualifiedName": "Linear.ReplyToProjectComment@3.2.1", "description": "Reply to an existing comment on a project document.\n\nCreates a threaded reply to the specified parent comment.", "parameters": [ { @@ -2650,7 +2759,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["comments:create"] + "scopes": [ + "comments:create" + ] }, "secrets": [], "secretsInfo": [], @@ -2663,17 +2774,17 @@ "toolName": "Linear.ReplyToProjectComment", "parameters": { "project": { - "value": "project-123", + "value": "acme-project", "type": "string", "required": true }, "parent_comment_id": { - "value": "comment-456", + "value": "cmt_1234567890", "type": "string", "required": true }, "body": { - "value": "Thanks for your feedback! Here's my response in Markdown: **bold text** and *italic text*.", + "value": "Thanks for the update — I reviewed the document and left a few suggestions:\n\n- Clarify the API rate limits section with concrete numbers.\n- Add example responses for 4xx and 5xx error cases.\n- Consider renaming \"payload\" to \"request_body\" for clarity.\n\nIf you'd like, I can apply these edits and add unit test examples.", "type": "string", "required": true }, @@ -2691,7 +2802,7 @@ { "name": "TransitionIssueState", "qualifiedName": "Linear.TransitionIssueState", - "fullyQualifiedName": "Linear.TransitionIssueState@3.2.0", + "fullyQualifiedName": "Linear.TransitionIssueState@3.2.1", "description": "Transition a Linear issue to a new workflow state.\n\nThe target state is validated against the team's available states.", "parameters": [ { @@ -2722,7 +2833,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -2740,12 +2853,12 @@ "required": true }, "target_state": { - "value": "In Progress", + "value": "In Review", "type": "string", "required": true }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -2758,7 +2871,7 @@ { "name": "UpdateComment", "qualifiedName": "Linear.UpdateComment", - "fullyQualifiedName": "Linear.UpdateComment@3.2.0", + "fullyQualifiedName": "Linear.UpdateComment@3.2.1", "description": "Update an existing comment.", "parameters": [ { @@ -2781,7 +2894,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -2794,12 +2909,12 @@ "toolName": "Linear.UpdateComment", "parameters": { "comment_id": { - "value": "abc123", + "value": "cmt_01GHTZ5ABCD234XYZ", "type": "string", "required": true }, "body": { - "value": "This is an updated comment with **Markdown** formatting.", + "value": "Updated the comment to clarify the implementation details:\n\n- Fixed typo in function name\n- Added edge case handling for null inputs\n\nPlease review and merge.", "type": "string", "required": true } @@ -2812,7 +2927,7 @@ { "name": "UpdateInitiative", "qualifiedName": "Linear.UpdateInitiative", - "fullyQualifiedName": "Linear.UpdateInitiative@3.2.0", + "fullyQualifiedName": "Linear.UpdateInitiative@3.2.1", "description": "Update a Linear initiative with partial updates.\n\nOnly fields that are explicitly provided will be updated.", "parameters": [ { @@ -2866,7 +2981,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -2879,27 +2996,27 @@ "toolName": "Linear.UpdateInitiative", "parameters": { "initiative_id": { - "value": "abc123", + "value": "init_01F2KZ7ABCDE", "type": "string", "required": true }, "name": { - "value": "Revamp User Interface", + "value": "Website Redesign Q2", "type": "string", "required": false }, "description": { - "value": "### Major overhaul of the current UI\n- Improve accessibility\n- Modernize design", + "value": "Complete redesign of the corporate website to improve conversion rates.\n\n- Update UI/UX\n- Migrate content\n- Optimize performance\n\nDeliverables: new homepage, product pages, and updated blog.", "type": "string", "required": false }, "status": { - "value": "In Progress", + "value": "in_progress", "type": "string", "required": false }, "target_date": { - "value": "2023-12-15", + "value": "2026-06-30", "type": "string", "required": false } @@ -2912,7 +3029,7 @@ { "name": "UpdateIssue", "qualifiedName": "Linear.UpdateIssue", - "fullyQualifiedName": "Linear.UpdateIssue@3.2.0", + "fullyQualifiedName": "Linear.UpdateIssue@3.2.1", "description": "Update a Linear issue with partial updates.\n\nOnly fields that are explicitly provided will be updated. All entity\nreferences are validated before update.", "parameters": [ { @@ -2970,7 +3087,13 @@ "type": "string", "required": false, "description": "New priority. Only updated if provided.", - "enum": ["none", "urgent", "high", "medium", "low"], + "enum": [ + "none", + "urgent", + "high", + "medium", + "low" + ], "inferrable": true }, { @@ -3041,7 +3164,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["issues:create"] + "scopes": [ + "issues:create" + ] }, "secrets": [], "secretsInfo": [], @@ -3059,12 +3184,12 @@ "required": true }, "title": { - "value": "Update API Documentation", + "value": "Fix login redirect loop", "type": "string", "required": false }, "description": { - "value": "Please ensure that all endpoints are documented thoroughly. **Markdown** formatting should be used.", + "value": "Steps to reproduce:\n1. Go to /login\n2. Enter valid credentials\n3. Submit\n\nExpected: Redirect to dashboard\nActual: Redirect loops back to login\n\nNotes: Likely related to recent auth cookie changes. See attached logs.", "type": "string", "required": false }, @@ -3074,52 +3199,57 @@ "required": false }, "labels_to_add": { - "value": ["documentation", "api"], + "value": [ + "bug", + "frontend" + ], "type": "array", "required": false }, "labels_to_remove": { - "value": ["needs review"], + "value": [ + "needs-triage" + ], "type": "array", "required": false }, "priority": { - "value": "high", + "value": "High", "type": "string", "required": false }, "state": { - "value": "in progress", + "value": "In Progress", "type": "string", "required": false }, "project": { - "value": "API Docs", + "value": "Website Redesign", "type": "string", "required": false }, "cycle": { - "value": "2023-Q4", + "value": "Sprint 12", "type": "string", "required": false }, "estimate": { - "value": 5, + "value": 3, "type": "integer", "required": false }, "due_date": { - "value": "2023-12-01", + "value": "2026-03-15", "type": "string", "required": false }, "attachment_url": { - "value": "https://example.com/documents/api-overview.pdf", + "value": "https://example.com/logs/login-redirect-2026-02-18.zip", "type": "string", "required": false }, "attachment_title": { - "value": "API Overview Document", + "value": "Login redirect logs (2026-02-18)", "type": "string", "required": false }, @@ -3137,7 +3267,7 @@ { "name": "UpdateProject", "qualifiedName": "Linear.UpdateProject", - "fullyQualifiedName": "Linear.UpdateProject@3.2.0", + "fullyQualifiedName": "Linear.UpdateProject@3.2.1", "description": "Update a Linear project with partial updates.\n\nOnly fields that are explicitly provided will be updated. All entity\nreferences are validated before update.\n\nIMPORTANT: Updating the 'content' field will break any existing inline\ncomment anchoring. The comments will still exist and be retrievable via\nlist_project_comments, but they will no longer appear visually anchored\nto text in the Linear UI. The 'description' field can be safely updated\nwithout affecting inline comments.", "parameters": [ { @@ -3241,7 +3371,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -3254,52 +3386,57 @@ "toolName": "Linear.UpdateProject", "parameters": { "project_id": { - "value": "proj-12345", + "value": "proj_frontend_redesign_2026", "type": "string", "required": true }, "name": { - "value": "New Project Name", + "value": "Website Redesign Q2 2026", "type": "string", "required": false }, "description": { - "value": "This is a summary of the new project.", + "value": "Redesign of the public website landing pages to improve conversion and align with updated brand guidelines.", "type": "string", "required": false }, "content": { - "value": "# Project Document\n\nThis is the content of the project document.", + "value": "# Website Redesign\n\n## Goals\n- Improve conversion on landing pages\n- Refresh visual design to match new brand\n- Ensure responsive experience across devices\n\n## Deliverables\n1. New homepage layout\n2. Updated product pages\n3. Performance optimizations\n\n## Notes\nDesign assets are in the `designs` Figma file. Coordinate release with marketing.", "type": "string", "required": false }, "state": { - "value": "active", + "value": "in_progress", "type": "string", "required": false }, "lead": { - "value": "lead@example.com", + "value": "jane.doe@example.com", "type": "string", "required": false }, "start_date": { - "value": "2023-10-01", + "value": "2026-04-01", "type": "string", "required": false }, "target_date": { - "value": "2023-12-01", + "value": "2026-06-30", "type": "string", "required": false }, "teams_to_add": { - "value": ["team1", "team2"], + "value": [ + "frontend-team", + "design-team" + ], "type": "array", "required": false }, "teams_to_remove": { - "value": ["team3"], + "value": [ + "marketing-team" + ], "type": "array", "required": false }, @@ -3317,13 +3454,15 @@ { "name": "WhoAmI", "qualifiedName": "Linear.WhoAmI", - "fullyQualifiedName": "Linear.WhoAmI@3.2.0", + "fullyQualifiedName": "Linear.WhoAmI@3.2.1", "description": "Get the authenticated user's profile and team memberships.\n\nReturns the current user's information including their name, email,\norganization, and the teams they belong to.", "parameters": [], "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -3341,17 +3480,9 @@ } } ], - "documentationChunks": [ - { - "type": "markdown", - "location": "custom_section", - "position": "after", - "header": "## Auth", - "content": "## Auth\n\nThe Arcade Linear MCP Server uses the [Linear auth provider](/references/auth-providers/linear) to connect to users' Linear accounts. Please refer to the [Linear auth provider](/references/auth-providers/linear) documentation to learn how to configure auth." - } - ], + "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:37:08.616Z", + "generatedAt": "2026-02-18T02:28:22.477Z", "summary": "The Linear MCP Server provides a comprehensive set of tools for interacting with Linear's issue tracking, project management, and team collaboration features. With this MCP Server, you can:\n\n- **Issues**: Create, update, search, and manage issues with full support for labels, priorities, assignments, and workflow states\n- **Projects**: Create and manage projects, track milestones, and post status updates\n- **Initiatives**: Manage high-level strategic goals and link projects to initiatives\n- **Teams**: Access team information and member details\n- **Cycles**: Work with time-boxed iterations (sprints) for organizing work\n- **Comments**: Add, update, and reply to comments on issues\n- **GitHub Integration**: Link GitHub PRs, commits, and issues to Linear issues\n- **User Context**: Access notifications, recent activity, and authenticated user information" -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/sharepoint.json b/toolkit-docs-generator/data/toolkits/sharepoint.json index 35c9c1569..9e53386ec 100644 --- a/toolkit-docs-generator/data/toolkits/sharepoint.json +++ b/toolkit-docs-generator/data/toolkits/sharepoint.json @@ -1,7 +1,7 @@ { "id": "Sharepoint", "label": "Microsoft SharePoint", - "version": "0.4.1", + "version": "0.7.0", "description": "Arcade.dev LLM tools for Microsoft SharePoint", "metadata": { "category": "productivity", @@ -9,20 +9,763 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/sharepoint", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/sharepoint", "isComingSoon": false, "isHidden": false }, "auth": { "type": "oauth2", "providerId": "microsoft", - "allScopes": ["Sites.Read.All", "User.Read"] + "allScopes": [ + "Sites.Read.All", + "Sites.ReadWrite.All", + "User.Read" + ] }, "tools": [ + { + "name": "CopyItem", + "qualifiedName": "Sharepoint.CopyItem", + "fullyQualifiedName": "Sharepoint.CopyItem@0.7.0", + "description": "Copy a file or folder. Returns a completed item or an operation id.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the item lives.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the item to copy.", + "enum": null, + "inferrable": true + }, + { + "name": "destination_folder_id", + "type": "string", + "required": false, + "description": "Optional destination folder ID. If omitted, the item is copied to the same folder.", + "enum": null, + "inferrable": true + }, + { + "name": "new_name", + "type": "string", + "required": false, + "description": "Optional new name for the copied item.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Copy status and result." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CopyItem", + "parameters": { + "drive_id": { + "value": "b!01234567-89ab-cdef-0123-456789abcdef", + "type": "string", + "required": true + }, + "item_id": { + "value": "01A2B3C4D5E6F7G8H9I0J", + "type": "string", + "required": true + }, + "destination_folder_id": { + "value": "f!89abcdef-0123-4567-89ab-cdef01234567", + "type": "string", + "required": false + }, + "new_name": { + "value": "Project Plan - Copy.docx", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateFolder", + "qualifiedName": "Sharepoint.CreateFolder", + "fullyQualifiedName": "Sharepoint.CreateFolder@0.7.0", + "description": "Create a new folder in a SharePoint drive.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the folder will be created.", + "enum": null, + "inferrable": true + }, + { + "name": "folder_name", + "type": "string", + "required": true, + "description": "The name of the new folder.", + "enum": null, + "inferrable": true + }, + { + "name": "parent_folder_id", + "type": "string", + "required": false, + "description": "Optional parent folder ID. If omitted, creates in the drive root.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The created folder metadata." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateFolder", + "parameters": { + "drive_id": { + "value": "b!7f8e9d0c1b2a3e4f5g6", + "type": "string", + "required": true + }, + "folder_name": { + "value": "Project Documents", + "type": "string", + "required": true + }, + "parent_folder_id": { + "value": "01ABCD2345EFGH6789IJ", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreatePresentation", + "qualifiedName": "Sharepoint.CreatePresentation", + "fullyQualifiedName": "Sharepoint.CreatePresentation@0.7.0", + "description": "Create a new PowerPoint presentation in a SharePoint drive.\n\nThe presentation will be created with a title slide containing the specified title.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive to create the presentation in.", + "enum": null, + "inferrable": true + }, + { + "name": "title", + "type": "string", + "required": true, + "description": "The title for the new presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "folder_id", + "type": "string", + "required": false, + "description": "The ID of the folder to create the presentation in. If not provided, the presentation will be created in the root of the drive.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The created presentation details." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreatePresentation", + "parameters": { + "drive_id": { + "value": "d1f5c3a2-4b6e-7f89-0abc-1def23456789", + "type": "string", + "required": true + }, + "title": { + "value": "Q2 2026 Product Roadmap Presentation", + "type": "string", + "required": true + }, + "folder_id": { + "value": "f3e2d1c4-5b6a-7c8d-9e0f-1234567890ab", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateShareLink", + "qualifiedName": "Sharepoint.CreateShareLink", + "fullyQualifiedName": "Sharepoint.CreateShareLink@0.7.0", + "description": "Create a share link for a SharePoint drive item.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the item lives.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the file or folder to share.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Sharing link information." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateShareLink", + "parameters": { + "drive_id": { + "value": "b!e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b", + "type": "string", + "required": true + }, + "item_id": { + "value": "01a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateSlide", + "qualifiedName": "Sharepoint.CreateSlide", + "fullyQualifiedName": "Sharepoint.CreateSlide@0.7.0", + "description": "Append a new slide to the end of an existing PowerPoint presentation in a SharePoint drive.\n\nThe slide will be added at the end of the presentation. Both title and body\nare optional to support layouts like BLANK or TITLE_ONLY.\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the PowerPoint presentation to add a slide to.", + "enum": null, + "inferrable": true + }, + { + "name": "slide_title", + "type": "string", + "required": false, + "description": "The title for the new slide. Optional for layouts like BLANK.", + "enum": null, + "inferrable": true + }, + { + "name": "slide_body", + "type": "string", + "required": false, + "description": "The body content for the new slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting). Optional for layouts like TITLE_ONLY or BLANK.", + "enum": null, + "inferrable": true + }, + { + "name": "layout", + "type": "string", + "required": false, + "description": "The layout to use for the slide. For TWO_CONTENT layout, use create_two_content_slide.", + "enum": [ + "TITLE", + "TITLE_AND_CONTENT", + "SECTION_HEADER", + "TITLE_ONLY", + "BLANK", + "CONTENT_WITH_CAPTION", + "PICTURE_WITH_CAPTION", + "TITLE_AND_VERTICAL_TEXT", + "VERTICAL_TITLE_AND_TEXT" + ], + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The updated presentation details with new slide info." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateSlide", + "parameters": { + "drive_id": { + "value": "b1a2c3d4-e5f6-47a8-9b0c-1234567890ab", + "type": "string", + "required": true + }, + "item_id": { + "value": "0a1b2c3d-4e5f-6789-0abc-def123456789", + "type": "string", + "required": true + }, + "slide_title": { + "value": "Quarterly Results — Q4 2025", + "type": "string", + "required": false + }, + "slide_body": { + "value": "**Highlights:**\n\n- Revenue increased by **12%** year-over-year\n - North America: *8%*\n - EMEA: *4%*\n- Product launch: **Nova**\n\n__Action Items:__\n- Finalize investor deck\n- Schedule follow-up meeting", + "type": "string", + "required": false + }, + "layout": { + "value": "TITLE_AND_CONTENT", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateTwoContentSlide", + "qualifiedName": "Sharepoint.CreateTwoContentSlide", + "fullyQualifiedName": "Sharepoint.CreateTwoContentSlide@0.7.0", + "description": "Append a TWO_CONTENT slide with side-by-side content areas to the end of a SharePoint PowerPoint.\n\nThis layout is useful for comparisons, pros/cons lists, or any content that\nbenefits from a two-column layout.\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the PowerPoint presentation to add a slide to.", + "enum": null, + "inferrable": true + }, + { + "name": "slide_title", + "type": "string", + "required": false, + "description": "The title for the new slide.", + "enum": null, + "inferrable": true + }, + { + "name": "left_body", + "type": "string", + "required": false, + "description": "Content for the left side of the slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting).", + "enum": null, + "inferrable": true + }, + { + "name": "right_body", + "type": "string", + "required": false, + "description": "Content for the right side of the slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting).", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The updated presentation details with new slide info." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateTwoContentSlide", + "parameters": { + "drive_id": { + "value": "b1a2c3d4-e5f6-7890-ab12-cd34ef56ab78", + "type": "string", + "required": true + }, + "item_id": { + "value": "3f2e1d0c-9b8a-7f6e-5d4c-3b2a1e0f9d8c", + "type": "string", + "required": true + }, + "slide_title": { + "value": "Comparison: Solution A vs Solution B", + "type": "string", + "required": false + }, + "left_body": { + "value": "**Key benefits**\n- Faster performance\n- Lower cost\n - Reduced maintenance\n- Scalable", + "type": "string", + "required": false + }, + "right_body": { + "value": "**Considerations**\n- Initial setup\n- Training required\n - Documentation and workshops\n- Integration effort", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateWordDocument", + "qualifiedName": "Sharepoint.CreateWordDocument", + "fullyQualifiedName": "Sharepoint.CreateWordDocument@0.7.0", + "description": "Create a new Word document in a SharePoint drive (4MB upload limit). Optionally include text content.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive to create the document in.", + "enum": null, + "inferrable": true + }, + { + "name": "title", + "type": "string", + "required": true, + "description": "File name without extension, or with .docx. The .docx extension is normalized.", + "enum": null, + "inferrable": true + }, + { + "name": "text_content", + "type": "string", + "required": false, + "description": "Optional text content to include in the new document. If omitted, an empty document is created.", + "enum": null, + "inferrable": true + }, + { + "name": "folder_id", + "type": "string", + "required": false, + "description": "Optional parent folder DriveItem ID. If omitted, the document is created in the root.", + "enum": null, + "inferrable": true + }, + { + "name": "conflict_behavior", + "type": "string", + "required": false, + "description": "Optional conflict behavior when a file with the same name exists. One of: fail, rename, replace.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The created Word document metadata." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateWordDocument", + "parameters": { + "drive_id": { + "value": "b1a2c3d4-5e6f-7a8b-9c0d-e1f2a3b4c5d6", + "type": "string", + "required": true + }, + "title": { + "value": "Project Plan.docx", + "type": "string", + "required": true + }, + "text_content": { + "value": "Meeting Agenda:\n1. Review milestones\n2. Assign action items\n3. Timeline and next steps\n\nNotes:\n- Prepare budget estimates\n- Follow up with stakeholders", + "type": "string", + "required": false + }, + "folder_id": { + "value": "9f8e7d6c-5b4a-3c2d-1e0f-a9b8c7d6e5f4", + "type": "string", + "required": false + }, + "conflict_behavior": { + "value": "rename", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteItem", + "qualifiedName": "Sharepoint.DeleteItem", + "fullyQualifiedName": "Sharepoint.DeleteItem@0.7.0", + "description": "Delete a file or folder from a SharePoint drive.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the item lives.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the file or folder to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Deletion confirmation." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.DeleteItem", + "parameters": { + "drive_id": { + "value": "b!9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d", + "type": "string", + "required": true + }, + "item_id": { + "value": "01A2B3C4D5E6F7G8H9I0J!123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetAllSlideNotes", + "qualifiedName": "Sharepoint.GetAllSlideNotes", + "fullyQualifiedName": "Sharepoint.GetAllSlideNotes@0.7.0", + "description": "Get all speaker notes from every slide in a SharePoint PowerPoint presentation.\n\nReturns notes for all slides in one call, which is more efficient than\ncalling get_slide_notes for each slide individually. Notes are returned\nin markdown format.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the PowerPoint presentation.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "All speaker notes from the presentation." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetAllSlideNotes", + "parameters": { + "drive_id": { + "value": "b!gZx2Y7kQ9mT5nR1sU6", + "type": "string", + "required": true + }, + "item_id": { + "value": "01A234BC567D8E9F!345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCopyStatus", + "qualifiedName": "Sharepoint.GetCopyStatus", + "fullyQualifiedName": "Sharepoint.GetCopyStatus@0.7.0", + "description": "Check status of an async copy operation using the full monitor URL.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the copy operation runs.", + "enum": null, + "inferrable": true + }, + { + "name": "operation_url", + "type": "string", + "required": true, + "description": "The full monitor URL returned by copy_item (Location/Operation-Location header). DO NOT PROVIDE ONLY THE OPERATION ID, BUT THE FULL URL.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Copy operation status." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetCopyStatus", + "parameters": { + "drive_id": { + "value": "b!1a2B3cD4eF5Gh6Ijk", + "type": "string", + "required": true + }, + "operation_url": { + "value": "https://graph.microsoft.com/v1.0/drives/b!1a2B3cD4eF5Gh6Ijk/items/0123456789ABCDEF/copy/operationStatuses/8a9f0b1c-2d3e-4f5a-9b0c-1234567890ab", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, { "name": "GetDrivesFromSite", "qualifiedName": "Sharepoint.GetDrivesFromSite", - "fullyQualifiedName": "Sharepoint.GetDrivesFromSite@0.4.1", + "fullyQualifiedName": "Sharepoint.GetDrivesFromSite@0.7.0", "description": "Retrieve drives / document libraries from a SharePoint site.\n\nIf you have a site name, it is not necessary to call Sharepoint.SearchSites first. You can simply\ncall this tool with the site name / keywords.", "parameters": [ { @@ -37,22 +780,192 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The drives from the SharePoint site." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetDrivesFromSite", + "parameters": { + "site": { + "value": "https://contoso.sharepoint.com/sites/Marketing", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetItemsFromList", + "qualifiedName": "Sharepoint.GetItemsFromList", + "fullyQualifiedName": "Sharepoint.GetItemsFromList@0.7.0", + "description": "Retrieve items from a list in a SharePoint site.\n\nNote: The Microsoft Graph API does not offer endpoints to retrieve list item attachments.\nBecause of that, the only information we can get is whether the item has attachments or not.", + "parameters": [ + { + "name": "site", + "type": "string", + "required": true, + "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", + "enum": null, + "inferrable": true + }, + { + "name": "list_id", + "type": "string", + "required": true, + "description": "The ID of the list to get items from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The SharePoint list items." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetItemsFromList", + "parameters": { + "site": { + "value": "site-id-12345", + "type": "string", + "required": true + }, + "list_id": { + "value": "list-id-67890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetListsFromSite", + "qualifiedName": "Sharepoint.GetListsFromSite", + "fullyQualifiedName": "Sharepoint.GetListsFromSite@0.7.0", + "description": "Retrieve lists from a SharePoint site.", + "parameters": [ + { + "name": "site", + "type": "string", + "required": true, + "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The SharePoint site lists." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetListsFromSite", + "parameters": { + "site": { + "value": "https://contoso.sharepoint.com/sites/Marketing", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPage", + "qualifiedName": "Sharepoint.GetPage", + "fullyQualifiedName": "Sharepoint.GetPage@0.7.0", + "description": "Retrieve metadata and the contents of a page in a SharePoint site.\n\nPage content is a list of Microsoft Sharepoint web part objects, such as text, images, banners,\nbuttons, etc.\n\nIf `include_page_content` is set to False, the tool will return only the page metadata.", + "parameters": [ + { + "name": "site", + "type": "string", + "required": true, + "description": "Site ID, SharePoint URL, or site name to retrieve base pages from. Prefer using a site ID whenever available for optimal performance", + "enum": null, + "inferrable": true + }, + { + "name": "page_id", + "type": "string", + "required": true, + "description": "The ID of the page to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "include_page_content", + "type": "boolean", + "required": false, + "description": "Whether to include the page content in the response. Defaults to True. If set to False, the tool will return only the page metadata.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The drives from the SharePoint site." + "description": "The page from the SharePoint site." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetDrivesFromSite", + "toolName": "Sharepoint.GetPage", "parameters": { "site": { - "value": "https://contoso.sharepoint.com/sites/Marketing", + "value": "site-12345", + "type": "string", + "required": true + }, + "page_id": { + "value": "page-67890", "type": "string", "required": true + }, + "include_page_content": { + "value": true, + "type": "boolean", + "required": false } }, "requiresAuth": true, @@ -61,24 +974,24 @@ } }, { - "name": "GetItemsFromList", - "qualifiedName": "Sharepoint.GetItemsFromList", - "fullyQualifiedName": "Sharepoint.GetItemsFromList@0.4.1", - "description": "Retrieve items from a list in a SharePoint site.\n\nNote: The Microsoft Graph API does not offer endpoints to retrieve list item attachments.\nBecause of that, the only information we can get is whether the item has attachments or not.", + "name": "GetPresentationAsMarkdown", + "qualifiedName": "Sharepoint.GetPresentationAsMarkdown", + "fullyQualifiedName": "Sharepoint.GetPresentationAsMarkdown@0.7.0", + "description": "Get the content of a PowerPoint presentation stored in a SharePoint drive as markdown.\n\nThis tool downloads the presentation and converts it to a markdown representation,\npreserving text content, tables, and chart data. Images and other media are\nrepresented as placeholders.", "parameters": [ { - "name": "site", + "name": "drive_id", "type": "string", "required": true, - "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", + "description": "The ID of the SharePoint drive containing the presentation.", "enum": null, "inferrable": true }, { - "name": "list_id", + "name": "item_id", "type": "string", "required": true, - "description": "The ID of the list to get items from.", + "description": "The ID of the PowerPoint presentation to read.", "enum": null, "inferrable": true } @@ -86,25 +999,27 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The SharePoint list items." + "description": "The presentation content as markdown." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetItemsFromList", + "toolName": "Sharepoint.GetPresentationAsMarkdown", "parameters": { - "site": { - "value": "site-id-12345", + "drive_id": { + "value": "b!a1b2c3d4e5f6g7h8i9j0k", "type": "string", "required": true }, - "list_id": { - "value": "list-id-67890", + "item_id": { + "value": "01ABCDEF-1234-5678-90AB-CDEF12345678", "type": "string", "required": true } @@ -115,16 +1030,16 @@ } }, { - "name": "GetListsFromSite", - "qualifiedName": "Sharepoint.GetListsFromSite", - "fullyQualifiedName": "Sharepoint.GetListsFromSite@0.4.1", - "description": "Retrieve lists from a SharePoint site.", + "name": "GetSite", + "qualifiedName": "Sharepoint.GetSite", + "fullyQualifiedName": "Sharepoint.GetSite@0.7.0", + "description": "Retrieve information about a specific SharePoint site by its ID, URL, or name.", "parameters": [ { "name": "site", "type": "string", "required": true, - "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", + "description": "Site ID, SharePoint URL, or site name to search for.", "enum": null, "inferrable": true } @@ -132,20 +1047,22 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The SharePoint site lists." + "description": "The SharePoint site information." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetListsFromSite", + "toolName": "Sharepoint.GetSite", "parameters": { "site": { - "value": "https://contoso.sharepoint.com/sites/Marketing", + "value": "https://example.sharepoint.com/sites/ProjectX", "type": "string", "required": true } @@ -156,32 +1073,101 @@ } }, { - "name": "GetPage", - "qualifiedName": "Sharepoint.GetPage", - "fullyQualifiedName": "Sharepoint.GetPage@0.4.1", - "description": "Retrieve metadata and the contents of a page in a SharePoint site.\n\nPage content is a list of Microsoft Sharepoint web part objects, such as text, images, banners,\nbuttons, etc.\n\nIf `include_page_content` is set to False, the tool will return only the page metadata.", + "name": "GetSlideNotes", + "qualifiedName": "Sharepoint.GetSlideNotes", + "fullyQualifiedName": "Sharepoint.GetSlideNotes@0.7.0", + "description": "Get the speaker notes from a specific slide in a SharePoint PowerPoint presentation.\n\nSpeaker notes are returned in markdown format, preserving basic formatting\nlike bold, italic, and bullet points.", "parameters": [ { - "name": "site", + "name": "drive_id", "type": "string", "required": true, - "description": "Site ID, SharePoint URL, or site name to retrieve base pages from. Prefer using a site ID whenever available for optimal performance", + "description": "The ID of the SharePoint drive containing the presentation.", "enum": null, "inferrable": true }, { - "name": "page_id", + "name": "item_id", "type": "string", "required": true, - "description": "The ID of the page to retrieve.", + "description": "The ID of the PowerPoint presentation.", "enum": null, "inferrable": true }, { - "name": "include_page_content", + "name": "slide_index", + "type": "integer", + "required": true, + "description": "The 1-based index of the slide to get notes from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The speaker notes for the specified slide." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetSlideNotes", + "parameters": { + "drive_id": { + "value": "d7f8a9b0-1234-4cde-9876-abcdef123456", + "type": "string", + "required": true + }, + "item_id": { + "value": "3c9a2f10-5678-4bcd-9012-abcdef789012", + "type": "string", + "required": true + }, + "slide_index": { + "value": 3, + "type": "integer", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetWordDocument", + "qualifiedName": "Sharepoint.GetWordDocument", + "fullyQualifiedName": "Sharepoint.GetWordDocument@0.7.0", + "description": "Get a Word document's metadata and content from a SharePoint drive (supports only `.docx`). Returns the document content as Markdown by default, or just metadata when metadata_only is True.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the document.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The DriveItem ID of the Word document.", + "enum": null, + "inferrable": true + }, + { + "name": "metadata_only", "type": "boolean", "required": false, - "description": "Whether to include the page content in the response. Defaults to True. If set to False, the tool will return only the page metadata.", + "description": "If True, return only the document metadata without downloading the content. Defaults to False.", "enum": null, "inferrable": true } @@ -189,30 +1175,32 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The page from the SharePoint site." + "description": "The Word document metadata and optionally its content." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetPage", + "toolName": "Sharepoint.GetWordDocument", "parameters": { - "site": { - "value": "site-12345", + "drive_id": { + "value": "b!a1b2c3d4e5f6g7h8i9j0k", "type": "string", "required": true }, - "page_id": { - "value": "page-67890", + "item_id": { + "value": "01ABCDEFGH123456789!101", "type": "string", "required": true }, - "include_page_content": { - "value": true, + "metadata_only": { + "value": false, "type": "boolean", "required": false } @@ -223,16 +1211,32 @@ } }, { - "name": "GetSite", - "qualifiedName": "Sharepoint.GetSite", - "fullyQualifiedName": "Sharepoint.GetSite@0.4.1", - "description": "Retrieve information about a specific SharePoint site by its ID, URL, or name.", + "name": "InsertTextAtEndOfWordDocument", + "qualifiedName": "Sharepoint.InsertTextAtEndOfWordDocument", + "fullyQualifiedName": "Sharepoint.InsertTextAtEndOfWordDocument@0.7.0", + "description": "Append text to the end of an existing Word document.\n\nThis tool only supports files with the `.docx` extension and enforces the 4MB limit.", "parameters": [ { - "name": "site", + "name": "drive_id", "type": "string", "required": true, - "description": "Site ID, SharePoint URL, or site name to search for.", + "description": "The ID of the SharePoint drive containing the document.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The DriveItem ID of the Word document.", + "enum": null, + "inferrable": true + }, + { + "name": "text_content", + "type": "string", + "required": true, + "description": "The text content to append to the document.", "enum": null, "inferrable": true } @@ -240,20 +1244,32 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.ReadWrite.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The SharePoint site information." + "description": "The updated Word document metadata." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetSite", + "toolName": "Sharepoint.InsertTextAtEndOfWordDocument", "parameters": { - "site": { - "value": "https://example.sharepoint.com/sites/ProjectX", + "drive_id": { + "value": "b!a1b2c3d4e5f6g7h8i9j0", + "type": "string", + "required": true + }, + "item_id": { + "value": "01A2B3C4D5E6F7G8H9I0J", + "type": "string", + "required": true + }, + "text_content": { + "value": "Append this paragraph to the end of the document.\n\nSummary:\n- Updated project timeline\n- Added action items\nPlease confirm and save.", "type": "string", "required": true } @@ -266,7 +1282,7 @@ { "name": "ListItemsInFolder", "qualifiedName": "Sharepoint.ListItemsInFolder", - "fullyQualifiedName": "Sharepoint.ListItemsInFolder@0.4.1", + "fullyQualifiedName": "Sharepoint.ListItemsInFolder@0.7.0", "description": "Retrieve items from a folder in a drive in a SharePoint site.\n\nNote: Due to how the Microsoft Graph API is designed, we have to retrieve all items, including the ones\nskipped by offset. For this reason, the tool execution time tends to increase with the offset value.", "parameters": [ { @@ -305,7 +1321,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -346,7 +1364,7 @@ { "name": "ListPages", "qualifiedName": "Sharepoint.ListPages", - "fullyQualifiedName": "Sharepoint.ListPages@0.4.1", + "fullyQualifiedName": "Sharepoint.ListPages@0.7.0", "description": "Retrieve pages from a SharePoint site.\n\nThe Microsoft Graph API does not support pagination on this endpoint.", "parameters": [ { @@ -369,7 +1387,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -400,7 +1420,7 @@ { "name": "ListRootItemsInDrive", "qualifiedName": "Sharepoint.ListRootItemsInDrive", - "fullyQualifiedName": "Sharepoint.ListRootItemsInDrive@0.4.1", + "fullyQualifiedName": "Sharepoint.ListRootItemsInDrive@0.7.0", "description": "Retrieve items from the root of a drive in a SharePoint site.\n\nNote: Due to how the Microsoft Graph API is designed, we have to retrieve all items, including the ones\nskipped by offset. For this reason, the tool execution time tends to increase with the offset value.", "parameters": [ { @@ -431,7 +1451,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -467,7 +1489,7 @@ { "name": "ListSites", "qualifiedName": "Sharepoint.ListSites", - "fullyQualifiedName": "Sharepoint.ListSites@0.4.1", + "fullyQualifiedName": "Sharepoint.ListSites@0.7.0", "description": "List all SharePoint sites accessible to the current user.", "parameters": [ { @@ -490,7 +1512,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -518,10 +1542,79 @@ "tabLabel": "Call the Tool with User Authorization" } }, + { + "name": "MoveItem", + "qualifiedName": "Sharepoint.MoveItem", + "fullyQualifiedName": "Sharepoint.MoveItem@0.7.0", + "description": "Move a file or folder to a new location in a SharePoint drive.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the item lives.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the item to move.", + "enum": null, + "inferrable": true + }, + { + "name": "new_parent_id", + "type": "string", + "required": true, + "description": "The ID of the destination folder.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The updated item metadata." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.MoveItem", + "parameters": { + "drive_id": { + "value": "b!a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "type": "string", + "required": true + }, + "item_id": { + "value": "01ABCDEF23456789!123", + "type": "string", + "required": true + }, + "new_parent_id": { + "value": "01ABCDEF23456789!456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, { "name": "SearchDriveItems", "qualifiedName": "Sharepoint.SearchDriveItems", - "fullyQualifiedName": "Sharepoint.SearchDriveItems@0.4.1", + "fullyQualifiedName": "Sharepoint.SearchDriveItems@0.7.0", "description": "Search for items in one or more Sharepoint drives.\n\nNote: when searching within a single Drive and/or Folder, due to how the Microsoft Graph API is designed,\nwe have to retrieve all items, including the ones skipped by offset. For this reason, the tool execution\ntime tends to increase with the offset value.", "parameters": [ { @@ -568,7 +1661,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -614,7 +1709,7 @@ { "name": "SearchSites", "qualifiedName": "Sharepoint.SearchSites", - "fullyQualifiedName": "Sharepoint.SearchSites@0.4.1", + "fullyQualifiedName": "Sharepoint.SearchSites@0.7.0", "description": "Search for SharePoint sites by name or description.\n\nIn case you need to retrieve a specific site by its name, ID or SharePoint URL, use the\n`Sharepoint.GetSite` tool instead, passing the ID, name or SharePoint URL to it. If you use\nthe `Sharepoint.SearchSites` tool to retrieve a single site by its name, too much CO2 will be\nreleased in the atmosphere and you will contribute to catastrophic climate change.", "parameters": [ { @@ -645,7 +1740,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -678,16 +1775,100 @@ "tabLabel": "Call the Tool with User Authorization" } }, + { + "name": "SetSlideNotes", + "qualifiedName": "Sharepoint.SetSlideNotes", + "fullyQualifiedName": "Sharepoint.SetSlideNotes@0.7.0", + "description": "Set or update the speaker notes on a specific slide in a SharePoint PowerPoint.\n\nNotes can be formatted using markdown:\n- **bold** for bold text\n- *italic* for italic text\n- __underline__ for underlined text\n- Lines starting with - or * become bullet points\n- Indent with spaces for nested bullets\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the PowerPoint presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "slide_index", + "type": "integer", + "required": true, + "description": "The 1-based index of the slide to set notes on.", + "enum": null, + "inferrable": true + }, + { + "name": "notes", + "type": "string", + "required": true, + "description": "The speaker notes in markdown format. Supports **bold**, *italic*, __underline__, and bullet points (- or *).", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Confirmation of the notes update." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.SetSlideNotes", + "parameters": { + "drive_id": { + "value": "b!xYz12345abcdefGHIJKLMnoPQRstuV", + "type": "string", + "required": true + }, + "item_id": { + "value": "01ABCD2EFG345HIJK678LMN9OPQRST", + "type": "string", + "required": true + }, + "slide_index": { + "value": 3, + "type": "integer", + "required": true + }, + "notes": { + "value": "**Overview**\n\n- *Key point 1*\n- **Key point 2**\n - Subpoint A\n - Subpoint B\n\nPlease review __pricing slide__ and update the numbers before the next review.", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, { "name": "WhoAmI", "qualifiedName": "Sharepoint.WhoAmI", - "fullyQualifiedName": "Sharepoint.WhoAmI@0.4.1", + "fullyQualifiedName": "Sharepoint.WhoAmI@0.7.0", "description": "Get information about the current user and their SharePoint environment.", "parameters": [], "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["User.Read"] + "scopes": [ + "User.Read" + ] }, "secrets": [], "secretsInfo": [], @@ -715,6 +1896,6 @@ ], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:41:02.555Z", - "summary": "Arcade.dev's SharePoint toolkit enables seamless integration with Microsoft SharePoint, enhancing productivity through advanced LLM tools. This toolkit provides developers with the capability to efficiently manage and retrieve information across various SharePoint resources.\n\n## Capabilities\n- Retrieve site, list, and drive information seamlessly.\n- Access and manage page content and associated metadata.\n- Execute specific searches for items within drives and sites.\n- Identify and list all accessible SharePoint sites for users.\n\n## OAuth\n**Provider:** Microsoft \n**Scopes:** Sites.Read.All, User.Read\n\n## Secrets\nNo secret types or names are required for this toolkit." -} + "generatedAt": "2026-02-18T02:28:06.736Z", + "summary": "Arcade toolkit for Microsoft SharePoint provides LLM-powered helpers to interact with SharePoint via Microsoft Graph, enabling programmatic management of sites, drives, documents, pages, and presentations from natural language. It streamlines file operations, content extraction, and slide/document manipulation for automation and tooling.\n\n## Capabilities\n- Unified content CRUD and batch operations for files, folders, lists, pages, and documents, including copy/move/delete and resumable uploads for large files.\n- Convert and extract content (presentations, Word, page webparts) to Markdown and manage speaker notes programmatically.\n- Search, discover, and enumerate sites, drives, lists, pages, and items with pagination-aware retrieval.\n- Create share links, monitor async operations, and retrieve current user and environment context.\n\n## OAuth\nProvider: microsoft\nScopes: Sites.Read.All, Sites.ReadWrite.All, User.Read" +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/slack.json b/toolkit-docs-generator/data/toolkits/slack.json index d704c970b..fe2fc387a 100644 --- a/toolkit-docs-generator/data/toolkits/slack.json +++ b/toolkit-docs-generator/data/toolkits/slack.json @@ -1,7 +1,7 @@ { "id": "Slack", "label": "Slack", - "version": "2.0.0", + "version": "2.1.0", "description": "Arcade.dev LLM tools for Slack", "metadata": { "category": "social", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/social-communication/slack", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/social-communication/slack", "isComingSoon": false, "isHidden": false }, @@ -19,9 +19,11 @@ "allScopes": [ "channels:history", "channels:read", + "channels:write", "chat:write", "groups:history", "groups:read", + "groups:write", "im:history", "im:read", "im:write", @@ -35,7 +37,7 @@ { "name": "GetConversationMetadata", "qualifiedName": "Slack.GetConversationMetadata", - "fullyQualifiedName": "Slack.GetConversationMetadata@2.0.0", + "fullyQualifiedName": "Slack.GetConversationMetadata@2.1.0", "description": "Get metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation.\n\nUse this tool to retrieve metadata about a conversation with a conversation_id, a channel name,\nor by the user_id(s), username(s), and/or email(s) of the user(s) in the conversation.\n\nThis tool does not return the messages in a conversation. To get the messages, use the\n'Slack.GetMessages' tool instead.\n\nProvide exactly one of:\n- conversation_id; or\n- channel_name; or\n- any combination of user_ids, usernames, and/or emails.", "parameters": [ { @@ -110,22 +112,22 @@ "required": false }, "channel_name": { - "value": "general", + "value": null, "type": "string", "required": false }, "usernames": { - "value": ["john_doe", "jane_smith"], + "value": null, "type": "array", "required": false }, "emails": { - "value": ["john@example.com", "jane@example.com"], + "value": null, "type": "array", "required": false }, "user_ids": { - "value": ["U123456", "U098765"], + "value": null, "type": "array", "required": false } @@ -138,7 +140,7 @@ { "name": "GetMessages", "qualifiedName": "Slack.GetMessages", - "fullyQualifiedName": "Slack.GetMessages@2.0.0", + "fullyQualifiedName": "Slack.GetMessages@2.1.0", "description": "Get messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation.\n\nProvide exactly one of:\n- conversation_id; or\n- channel_name; or\n- any combination of user_ids, usernames, and/or emails.\n\nTo filter messages by an absolute datetime, use 'oldest_datetime' and/or 'latest_datetime'. If\nonly 'oldest_datetime' is provided, it will return messages from the oldest_datetime to the\ncurrent time. If only 'latest_datetime' is provided, it will return messages since the\nbeginning of the conversation to the latest_datetime.\n\nTo filter messages by a relative datetime (e.g. 3 days ago, 1 hour ago, etc.), use\n'oldest_relative' and/or 'latest_relative'. If only 'oldest_relative' is provided, it will\nreturn messages from the oldest_relative to the current time. If only 'latest_relative' is\nprovided, it will return messages from the current time to the latest_relative.\n\nDo not provide both 'oldest_datetime' and 'oldest_relative' or both 'latest_datetime' and\n'latest_relative'.\n\nLeave all arguments with the default None to get messages without date/time filtering", "parameters": [ { @@ -260,7 +262,7 @@ "toolName": "Slack.GetMessages", "parameters": { "conversation_id": { - "value": "C1234567890", + "value": "C0123456789", "type": "string", "required": false }, @@ -285,12 +287,12 @@ "required": false }, "oldest_relative": { - "value": "01:00:00", + "value": "03:00:00", "type": "string", "required": false }, "latest_relative": { - "value": "00:30:00", + "value": "00:12:00", "type": "string", "required": false }, @@ -305,12 +307,12 @@ "required": false }, "limit": { - "value": 50, + "value": 100, "type": "integer", "required": false }, "next_cursor": { - "value": null, + "value": "dXNlcjoxMjM0NTY3ODkw", "type": "string", "required": false } @@ -323,7 +325,7 @@ { "name": "GetUsersInConversation", "qualifiedName": "Slack.GetUsersInConversation", - "fullyQualifiedName": "Slack.GetUsersInConversation@2.0.0", + "fullyQualifiedName": "Slack.GetUsersInConversation@2.1.0", "description": "Get the users in a Slack conversation (Channel, DM/IM, or MPIM) by its ID or by channel name.\n\nProvide exactly one of conversation_id or channel_name. Prefer providing a conversation_id,\nwhen available, since the performance is better.", "parameters": [ { @@ -382,7 +384,7 @@ "toolName": "Slack.GetUsersInConversation", "parameters": { "conversation_id": { - "value": "C1234567890", + "value": "C01ABCD2EFG", "type": "string", "required": false }, @@ -397,7 +399,7 @@ "required": false }, "next_cursor": { - "value": "abc123token", + "value": "dXNlcjpVMDYxT1h6aQ==", "type": "string", "required": false } @@ -410,7 +412,7 @@ { "name": "GetUsersInfo", "qualifiedName": "Slack.GetUsersInfo", - "fullyQualifiedName": "Slack.GetUsersInfo@2.0.0", + "fullyQualifiedName": "Slack.GetUsersInfo@2.1.0", "description": "Get the information of one or more users in Slack by ID, username, and/or email.\n\nProvide any combination of user_ids, usernames, and/or emails. If you need to retrieve\ndata about multiple users, DO NOT CALL THE TOOL MULTIPLE TIMES. Instead, call it once\nwith all the user_ids, usernames, and/or emails. IF YOU CALL THIS TOOL MULTIPLE TIMES\nUNNECESSARILY, YOU WILL RELEASE MORE CO2 IN THE ATMOSPHERE AND CONTRIBUTE TO GLOBAL WARMING.\n\nIf you need to get metadata or messages of a conversation, use the\n`Slack.GetConversationMetadata` or `Slack.GetMessages` tool instead. These\ntools accept user_ids, usernames, and/or emails. Do not retrieve users' info first,\nas it is inefficient, releases more CO2 in the atmosphere, and contributes to climate change.", "parameters": [ { @@ -444,7 +446,10 @@ "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": ["users:read", "users:read.email"] + "scopes": [ + "users:read", + "users:read.email" + ] }, "secrets": [], "secretsInfo": [], @@ -457,17 +462,132 @@ "toolName": "Slack.GetUsersInfo", "parameters": { "user_ids": { - "value": ["U12345", "U67890"], + "value": [ + "U12345678", + "U23456789" + ], + "type": "array", + "required": false + }, + "usernames": { + "value": [ + "alice", + "bob.smith" + ], + "type": "array", + "required": false + }, + "emails": { + "value": [ + "alice@example.com", + "bob.smith@example.com" + ], + "type": "array", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "slack", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "InviteUsersToChannel", + "qualifiedName": "Slack.InviteUsersToChannel", + "fullyQualifiedName": "Slack.InviteUsersToChannel@2.1.0", + "description": "Invite users to a Slack channel or MPIM (multi-person direct message).\n\nThis tool invites specified users to join a Slack conversation. It works with:\n- Public channels\n- Private channels\n- MPIMs (multi-person direct messages / group DMs)\n\nYou can specify users by their user IDs, usernames, or email addresses.\n\nProvide exactly one of channel_id or channel_name, and at least one of user_ids, usernames,\nor emails.\n\nThe tool will resolve usernames and emails to user IDs before inviting them.\nUp to 100 users may be invited at once.", + "parameters": [ + { + "name": "channel_id", + "type": "string", + "required": false, + "description": "The ID of the Slack channel or MPIM (multi-person direct message) to invite users to. Provide exactly one of channel_id OR channel_name.", + "enum": null, + "inferrable": true + }, + { + "name": "channel_name", + "type": "string", + "required": false, + "description": "The name of the channel to invite users to. Prefer providing a channel_id when available for better performance. Note: MPIMs don't have names, so use channel_id for MPIMs.", + "enum": null, + "inferrable": true + }, + { + "name": "user_ids", + "type": "array", + "innerType": "string", + "required": false, + "description": "The Slack user IDs of the people to invite. Up to 100 users may be listed. Provide at least one of user_ids, usernames, or emails.", + "enum": null, + "inferrable": true + }, + { + "name": "usernames", + "type": "array", + "innerType": "string", + "required": false, + "description": "The Slack usernames of the people to invite. Prefer providing user_ids and/or emails when available for better performance.", + "enum": null, + "inferrable": true + }, + { + "name": "emails", + "type": "array", + "innerType": "string", + "required": false, + "description": "The email addresses of the people to invite.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "slack", + "providerType": "oauth2", + "scopes": [ + "channels:read", + "groups:read", + "channels:write", + "groups:write", + "users:read", + "users:read.email" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The response from inviting users to the conversation" + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Slack.InviteUsersToChannel", + "parameters": { + "channel_id": { + "value": "C024BE91L", + "type": "string", + "required": false + }, + "channel_name": { + "value": null, + "type": "string", + "required": false + }, + "user_ids": { + "value": [ + "U2147483697", + "U2147483698" + ], "type": "array", "required": false }, "usernames": { - "value": ["john_doe", "jane_smith"], + "value": null, "type": "array", "required": false }, "emails": { - "value": ["john@example.com", "jane@example.com"], + "value": null, "type": "array", "required": false } @@ -480,7 +600,7 @@ { "name": "ListConversations", "qualifiedName": "Slack.ListConversations", - "fullyQualifiedName": "Slack.ListConversations@2.0.0", + "fullyQualifiedName": "Slack.ListConversations@2.1.0", "description": "List metadata for Slack conversations (channels, DMs, MPIMs) the user is a member of.\n\nThis tool does not return the messages in a conversation. To get the messages, use the\n'Slack.GetMessages' tool instead. Calling this tool when the user is asking for messages\nwill release too much CO2 in the atmosphere and contribute to global warming.", "parameters": [ { @@ -517,7 +637,12 @@ "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": ["channels:read", "groups:read", "im:read", "mpim:read"] + "scopes": [ + "channels:read", + "groups:read", + "im:read", + "mpim:read" + ] }, "secrets": [], "secretsInfo": [], @@ -530,7 +655,10 @@ "toolName": "Slack.ListConversations", "parameters": { "conversation_types": { - "value": ["channel", "im"], + "value": [ + "public_channel", + "im" + ], "type": "array", "required": false }, @@ -540,7 +668,7 @@ "required": false }, "next_cursor": { - "value": "dXNlcl9mNTc3ZGQ1YjBlZDdmYzViZTA1NGUx", + "value": "dXNlcjpVbmtleToxMjM0NTY3ODkw", "type": "string", "required": false } @@ -553,7 +681,7 @@ { "name": "ListUsers", "qualifiedName": "Slack.ListUsers", - "fullyQualifiedName": "Slack.ListUsers@2.0.0", + "fullyQualifiedName": "Slack.ListUsers@2.1.0", "description": "List all users in the authenticated user's Slack team.\n\nIf you need to get metadata or messages of a conversation, use the\n`Slack.GetConversationMetadata` tool or `Slack.GetMessages` tool instead. These\ntools accept a user_id, username, and/or email. Do not use this tool to first retrieve user(s),\nas it is inefficient and releases more CO2 in the atmosphere, contributing to climate change.", "parameters": [ { @@ -584,7 +712,10 @@ "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": ["users:read", "users:read.email"] + "scopes": [ + "users:read", + "users:read.email" + ] }, "secrets": [], "secretsInfo": [], @@ -607,7 +738,7 @@ "required": false }, "next_cursor": { - "value": "abc123", + "value": "dXNlcjoxMjM0NTY=", "type": "string", "required": false } @@ -620,7 +751,7 @@ { "name": "SendMessage", "qualifiedName": "Slack.SendMessage", - "fullyQualifiedName": "Slack.SendMessage@2.0.0", + "fullyQualifiedName": "Slack.SendMessage@2.1.0", "description": "Send a message to a Channel, Direct Message (IM/DM), or Multi-Person (MPIM) conversation\n\nProvide exactly one of:\n- channel_name; or\n- conversation_id; or\n- any combination of user_ids, usernames, and/or emails.\n\nIn case multiple user_ids, usernames, and/or emails are provided, the tool will open a\nmulti-person conversation with the specified people and send the message to it.", "parameters": [ { @@ -700,12 +831,12 @@ "toolName": "Slack.SendMessage", "parameters": { "message": { - "value": "Hello team, please check the latest updates!", + "value": "Hi team — quick reminder to review the Q3 report linked in #projects and leave your feedback by EOD Friday. Thanks!", "type": "string", "required": true }, "channel_name": { - "value": "general", + "value": null, "type": "string", "required": false }, @@ -715,12 +846,18 @@ "required": false }, "user_ids": { - "value": ["U12345678", "U87654321"], + "value": [ + "U12345678", + "U23456789" + ], "type": "array", "required": false }, "emails": { - "value": null, + "value": [ + "alice@example.com", + "bob@example.com" + ], "type": "array", "required": false }, @@ -738,13 +875,16 @@ { "name": "WhoAmI", "qualifiedName": "Slack.WhoAmI", - "fullyQualifiedName": "Slack.WhoAmI@2.0.0", + "fullyQualifiedName": "Slack.WhoAmI@2.1.0", "description": "Get comprehensive user profile and Slack information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, and other important profile details from\nSlack services.", "parameters": [], "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": ["users:read", "users:read.email"] + "scopes": [ + "users:read", + "users:read.email" + ] }, "secrets": [], "secretsInfo": [], @@ -764,18 +904,7 @@ ], "documentationChunks": [], "customImports": [], - "subPages": [ - { - "type": "install", - "content": "# Arcade for Slack\n\nimport { Steps, Callout } from \"nextra/components\";\nimport { SignupLink } from \"@/app/_components/analytics\";\nimport { SlackAuthLink } from \"./slack-auth-link\";\n\n## Integrate Arcade with your Slack workspace\n\nArcade securely connects your AI agents to APIs, data, code, and other systems via Tools. Our integration for Slack allows Arcade's tools to connect to your Slack workspace, helping your team work more efficiently.\n\nYou can leverage this app in Arcade's Playground when you log in to the Arcade Dashboard, or in your own applications.\n\nWhile the Arcade app for Slack does not directly expose a Large Language Model (LLM) to you, you will likely use Arcade's tools in conjunction with an LLM. When using LLMs, there's always potential to generate inaccurate responses, summaries, or other output.\n\nArcade's sample app for Slack brings Arcade's powerful AI tool-calling capabilities to your team's everyday conversations. The Arcade app for Slack can:\n\n- Send messages to your Slack channels and direct messages on your behalf\n- Find information in your Slack channels and direct messages\n- Generate content, summaries, and responses for messages you receive\n- and more!\n\nFor more details on what tools are available and what scopes they require, see the [Slack MCP Server documentation](/resources/integrations/social-communication/slack).\n\n\n The Arcade app for Slack requires an active Arcade account. If you don't have\n one yet,{\" \"}\n \n sign up for free\n \n .\n\n\n## How it works\n\n\n### Install the Arcade app for Slack\nClick the \"Add to Slack\" button below to install Arcade in your workspace.\n\n\n\n\n You'll need to be a workspace admin or have permission to install apps to add\n Arcade to your Slack workspace.\n\n\n### Invite Arcade to your channels\n\nInvite Arcade to any channel or direct message by typing `/invite @Arcade` to allow it to read and interact with content in that channel.\n\n### Start using Arcade's Slack tools\n\nUse Arcade's [tools for Slack](/resources/integrations/social-communication/slack) to:\n\n- Send messages to channels and DMs\n- Find information in conversations\n- Generate summaries of discussions\n\nTry leveraging the Arcade tools for Slack in the Arcade Playground by [chatting with an LLM](https://api.arcade.dev/dashboard/playground/chat) asking, \"What are the last 5 messages in the general Slack channel?\" or [executing Slack tools directly](https://api.arcade.dev/dashboard/playground/execute?toolId=GetMessagesInChannelByName&toolkits=%5B%5D&authProviders=%5B%5D&secrets=%5B%5D&input=%7B%22owner%22%3A%22ArcadeAI%22%2C%22name%22%3A%22arcade-ai%22%2C%22starred%22%3A%22true%22%2C%22channel_name%22%3A%22general%22%2C%22limit%22%3A%225%22%7D) without interacting with an LLM.\n\n\n When using LLMs with Slack, responses may sometimes contain inaccuracies.\n Always review AI-generated content before taking action.\n\n\n\n\n## Next steps\n\nThe Arcade app for Slack is a sample for what Arcade can do with your Slack workspace. It's likely that for your own applications you'll need to [create your own app for Slack](/references/auth-providers/slack). Creating your own application for Slack will allow you to brand the app, customize the permissions, and more.\n\n## Need help?\n\nIf you have any questions or need assistance:\n\n- Check our [Slack MCP Server documentation](/resources/integrations/social-communication/slack)\n- [Contact our support team](/resources/contact-us)\n", - "relativePath": "install/page.mdx" - }, - { - "type": "environment-variables", - "content": "# Environment Variables\n\n### `SLACK_MAX_CONCURRENT_REQUESTS`\n\nArcade uses asynchronous calls to request Slack API endpoints. In some tools, multiple concurrent HTTP requests may be issued to speed up execution. This environment variable controls the maximum number of concurrent requests to Slack API in any tool execution.\n\nThe value must be a numeric string with an integer greater than or equal to 1.\n\n**Default:** `3`\n\n\n### `MAX_PAGINATION_SIZE_LIMIT`\n\nThis environment variable controls the maximum number of items requested in a single call to a Slack API endpoint. Some of the Slack tools allow the tool caller to request a larger number of items per tool call, but the tool will paginate the results internally while respecting the `MAX_PAGINATION_SIZE_LIMIT`.\n\n**Default:** `200` (Slack supports, but discourages a limit larger than 200)\n\n\n### `MAX_PAGINATION_TIMEOUT_SECONDS`\n\nControls the maximum number of seconds any given Slack tool should wait while paginating responses from the Slack API.\n\n**Default:** `30` (expressed in seconds)\n", - "relativePath": "environment-variables/page.mdx" - } - ], - "generatedAt": "2026-01-26T17:41:10.378Z", - "summary": "Arcade.dev provides a toolkit for integrating with Slack, enabling developers to enhance their applications with powerful Slack features. This toolkit allows for seamless communication, conversation management, and user interactions within Slack's ecosystem.\n\n**Capabilities**\n- Access conversation metadata, messages, and user information.\n- List users and conversations associated with the authenticated user.\n- Send messages to channels or direct conversations.\n\n**OAuth**\n- Provider: Slack \n- Scopes: channels:history, channels:read, chat:write, groups:history, groups:read, im:history, im:read, im:write, mpim:history, mpim:read, users:read, users:read.email\n\n**Secrets**\n- No secrets are required for this integration." -} + "subPages": [], + "generatedAt": "2026-02-18T02:28:36.307Z", + "summary": "Slack provider toolkit enabling programmatic access to Slack workspaces for reading and sending messages, managing conversations and users, and retrieving profile and membership data. It supports conversation and user queries, message retrieval with flexible absolute or relative time filters, message posting, and managing conversation membership.\n\n**Capabilities**\n\n- Unified conversation and message access with flexible absolute/relative time filtering and efficient bulk retrieval.\n- User and profile resolution plus membership lookups to map IDs, usernames, and emails to conversations.\n- Send messages and manage membership (invite/open) while resolving recipients robustly.\n- Emphasis on efficiency: prefer conversation-based queries and bulk calls to avoid redundant requests.\n\n**OAuth**\n\n- Provider: slack\n- Scopes: channels:history, channels:read, channels:write, chat:write, groups:history, groups:read, groups:write, im:history, im:read, im:write, mpim:history, mpim:read, users:read, users:read.email" +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/stripe.json b/toolkit-docs-generator/data/toolkits/stripe.json index bff97efb0..7e1703673 100644 --- a/toolkit-docs-generator/data/toolkits/stripe.json +++ b/toolkit-docs-generator/data/toolkits/stripe.json @@ -1,7 +1,7 @@ { "id": "Stripe", "label": "Stripe", - "version": "1.0.1", + "version": "1.0.2", "description": "Arcade.dev LLM tools for Stripe", "metadata": { "category": "payments", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/payments/stripe", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/payments/stripe", "isComingSoon": false, "isHidden": false }, @@ -18,7 +18,7 @@ { "name": "CreateBillingPortalSession", "qualifiedName": "Stripe.CreateBillingPortalSession", - "fullyQualifiedName": "Stripe.CreateBillingPortalSession@1.0.1", + "fullyQualifiedName": "Stripe.CreateBillingPortalSession@1.0.2", "description": "This tool will create a billing portal session.", "parameters": [ { @@ -39,7 +39,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -72,7 +74,7 @@ { "name": "CreateCustomer", "qualifiedName": "Stripe.CreateCustomer", - "fullyQualifiedName": "Stripe.CreateCustomer@1.0.1", + "fullyQualifiedName": "Stripe.CreateCustomer@1.0.2", "description": "This tool will create a customer in Stripe.", "parameters": [ { @@ -93,7 +95,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -126,7 +130,7 @@ { "name": "CreateInvoice", "qualifiedName": "Stripe.CreateInvoice", - "fullyQualifiedName": "Stripe.CreateInvoice@1.0.1", + "fullyQualifiedName": "Stripe.CreateInvoice@1.0.2", "description": "This tool will create an invoice in Stripe.", "parameters": [ { @@ -147,7 +151,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -180,7 +186,7 @@ { "name": "CreateInvoiceItem", "qualifiedName": "Stripe.CreateInvoiceItem", - "fullyQualifiedName": "Stripe.CreateInvoiceItem@1.0.1", + "fullyQualifiedName": "Stripe.CreateInvoiceItem@1.0.2", "description": "This tool will create an invoice item in Stripe.", "parameters": [ { @@ -209,7 +215,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -247,7 +255,7 @@ { "name": "CreatePaymentLink", "qualifiedName": "Stripe.CreatePaymentLink", - "fullyQualifiedName": "Stripe.CreatePaymentLink@1.0.1", + "fullyQualifiedName": "Stripe.CreatePaymentLink@1.0.2", "description": "This tool will create a payment link in Stripe.", "parameters": [ { @@ -268,7 +276,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -301,7 +311,7 @@ { "name": "CreatePrice", "qualifiedName": "Stripe.CreatePrice", - "fullyQualifiedName": "Stripe.CreatePrice@1.0.1", + "fullyQualifiedName": "Stripe.CreatePrice@1.0.2", "description": "This tool will create a price in Stripe. If a product has not already been", "parameters": [ { @@ -330,7 +340,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -368,7 +380,7 @@ { "name": "CreateProduct", "qualifiedName": "Stripe.CreateProduct", - "fullyQualifiedName": "Stripe.CreateProduct@1.0.1", + "fullyQualifiedName": "Stripe.CreateProduct@1.0.2", "description": "This tool will create a product in Stripe.", "parameters": [ { @@ -389,7 +401,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -422,7 +436,7 @@ { "name": "CreateRefund", "qualifiedName": "Stripe.CreateRefund", - "fullyQualifiedName": "Stripe.CreateRefund@1.0.1", + "fullyQualifiedName": "Stripe.CreateRefund@1.0.2", "description": "This tool will refund a payment intent in Stripe.", "parameters": [ { @@ -443,7 +457,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -476,7 +492,7 @@ { "name": "FinalizeInvoice", "qualifiedName": "Stripe.FinalizeInvoice", - "fullyQualifiedName": "Stripe.FinalizeInvoice@1.0.1", + "fullyQualifiedName": "Stripe.FinalizeInvoice@1.0.2", "description": "This tool will finalize an invoice in Stripe.", "parameters": [ { @@ -489,7 +505,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -517,7 +535,7 @@ { "name": "ListCustomers", "qualifiedName": "Stripe.ListCustomers", - "fullyQualifiedName": "Stripe.ListCustomers@1.0.1", + "fullyQualifiedName": "Stripe.ListCustomers@1.0.2", "description": "This tool will fetch a list of Customers from Stripe.", "parameters": [ { @@ -538,7 +556,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -571,7 +591,7 @@ { "name": "ListInvoices", "qualifiedName": "Stripe.ListInvoices", - "fullyQualifiedName": "Stripe.ListInvoices@1.0.1", + "fullyQualifiedName": "Stripe.ListInvoices@1.0.2", "description": "This tool will list invoices in Stripe.", "parameters": [ { @@ -592,7 +612,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -625,7 +647,7 @@ { "name": "ListPaymentIntents", "qualifiedName": "Stripe.ListPaymentIntents", - "fullyQualifiedName": "Stripe.ListPaymentIntents@1.0.1", + "fullyQualifiedName": "Stripe.ListPaymentIntents@1.0.2", "description": "This tool will list payment intents in Stripe.", "parameters": [ { @@ -646,7 +668,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -679,7 +703,7 @@ { "name": "ListPrices", "qualifiedName": "Stripe.ListPrices", - "fullyQualifiedName": "Stripe.ListPrices@1.0.1", + "fullyQualifiedName": "Stripe.ListPrices@1.0.2", "description": "This tool will fetch a list of Prices from Stripe.", "parameters": [ { @@ -700,7 +724,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -733,7 +759,7 @@ { "name": "ListProducts", "qualifiedName": "Stripe.ListProducts", - "fullyQualifiedName": "Stripe.ListProducts@1.0.1", + "fullyQualifiedName": "Stripe.ListProducts@1.0.2", "description": "This tool will fetch a list of Products from Stripe.", "parameters": [ { @@ -746,7 +772,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -774,11 +802,13 @@ { "name": "RetrieveBalance", "qualifiedName": "Stripe.RetrieveBalance", - "fullyQualifiedName": "Stripe.RetrieveBalance@1.0.1", + "fullyQualifiedName": "Stripe.RetrieveBalance@1.0.2", "description": "This tool will retrieve the balance from Stripe. It takes no input.", "parameters": [], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -803,12 +833,11 @@ "type": "markdown", "location": "auth", "position": "after", - "content": "The Arcade Stripe MCP Server uses the [Stripe Agent Toolkit](https://github.com/stripe/agent-toolkit) to interact with the Stripe API.\n- **Required Secret:**\n - `STRIPE_SECRET_KEY`: Your Stripe API key.", - "header": "## Auth" + "content": "The Arcade Stripe MCP Server uses the [Stripe Agent Toolkit](https://github.com/stripe/agent-toolkit) to interact with the Stripe API.\n- **Required Secret:**\n - `STRIPE_SECRET_KEY`: Your Stripe API key." } ], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:41:59.314Z", + "generatedAt": "2026-02-18T02:28:22.482Z", "summary": "Arcade.dev provides a powerful toolkit for integrating with Stripe, enabling seamless management of billing, customer data, and payment processes. This toolkit simplifies common tasks, making it easier for developers to leverage Stripe's capabilities.\n\n### Capabilities\n- Create and manage customers, products, and prices.\n- Generate invoices and billing portal sessions effortlessly.\n- Retrieve and list pertinent data such as invoices and payment intents.\n- Facilitate refunds and manage financial transactions seamlessly.\n\n### Secrets\n- **API Key**: Use the `STRIPE_SECRET_KEY` for authentication when interacting with the Stripe API." -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/x.json b/toolkit-docs-generator/data/toolkits/x.json index e7f6657f1..c3729e3d1 100644 --- a/toolkit-docs-generator/data/toolkits/x.json +++ b/toolkit-docs-generator/data/toolkits/x.json @@ -1,7 +1,7 @@ { "id": "X", "label": "X", - "version": "1.1.1", + "version": "1.3.1", "description": "Arcade.dev LLM tools for X (Twitter)", "metadata": { "category": "social", @@ -9,20 +9,24 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/social-communication/x", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/social-communication/x", "isComingSoon": false, "isHidden": false }, "auth": { "type": "oauth2", "providerId": "x", - "allScopes": ["tweet.read", "tweet.write", "users.read"] + "allScopes": [ + "tweet.read", + "tweet.write", + "users.read" + ] }, "tools": [ { "name": "DeleteTweetById", "qualifiedName": "X.DeleteTweetById", - "fullyQualifiedName": "X.DeleteTweetById@1.1.1", + "fullyQualifiedName": "X.DeleteTweetById@1.3.1", "description": "Delete a tweet on X (Twitter).", "parameters": [ { @@ -37,7 +41,11 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "tweet.write", "users.read"] + "scopes": [ + "tweet.read", + "tweet.write", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -63,7 +71,7 @@ { "name": "LookupSingleUserByUsername", "qualifiedName": "X.LookupSingleUserByUsername", - "fullyQualifiedName": "X.LookupSingleUserByUsername@1.1.1", + "fullyQualifiedName": "X.LookupSingleUserByUsername@1.3.1", "description": "Look up a user on X (Twitter) by their username.", "parameters": [ { @@ -78,7 +86,10 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["users.read", "tweet.read"] + "scopes": [ + "users.read", + "tweet.read" + ] }, "secrets": [], "secretsInfo": [], @@ -104,7 +115,7 @@ { "name": "LookupTweetById", "qualifiedName": "X.LookupTweetById", - "fullyQualifiedName": "X.LookupTweetById@1.1.1", + "fullyQualifiedName": "X.LookupTweetById@1.3.1", "description": "Look up a tweet on X (Twitter) by tweet ID.", "parameters": [ { @@ -119,7 +130,10 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "users.read"] + "scopes": [ + "tweet.read", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -145,7 +159,7 @@ { "name": "PostTweet", "qualifiedName": "X.PostTweet", - "fullyQualifiedName": "X.PostTweet@1.1.1", + "fullyQualifiedName": "X.PostTweet@1.3.1", "description": "Post a tweet to X (Twitter).\n\nIMPORTANT NOTE:\nUse this tool ONLY when posting a tweet that is not a reply.\nIf you need to reply to a tweet, use the ReplyToTweet tool instead.\nIf you need to quote a tweet, you must include the quote_tweet_id parameter.", "parameters": [ { @@ -160,7 +174,7 @@ "name": "quote_tweet_id", "type": "string", "required": false, - "description": "The ID of the tweet you want to quote. It must be a valid integer as a string. Optional.", + "description": "The ID of the tweet you want to quote. It must be a valid integer as a string. Default is None.", "enum": null, "inferrable": true } @@ -168,7 +182,11 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "tweet.write", "users.read"] + "scopes": [ + "tweet.read", + "tweet.write", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -181,12 +199,12 @@ "toolName": "X.PostTweet", "parameters": { "tweet_text": { - "value": "Excited to share my latest project! Check it out! #innovation #tech", + "value": "Excited to announce our new product launch next week! Stay tuned for details. #ProductLaunch", "type": "string", "required": true }, "quote_tweet_id": { - "value": "1234567890", + "value": null, "type": "string", "required": false } @@ -199,7 +217,7 @@ { "name": "ReplyToTweet", "qualifiedName": "X.ReplyToTweet", - "fullyQualifiedName": "X.ReplyToTweet@1.1.1", + "fullyQualifiedName": "X.ReplyToTweet@1.3.1", "description": "Reply to a tweet on X (Twitter).\n\nIMPORTANT NOTE:\nUse this tool ONLY when replying to a tweet directly.\nIf you need to post a tweet that is not a reply, use the PostTweet tool instead.\nIf you need to quote a tweet on your reply, you must include the quote_tweet_id parameter.", "parameters": [ { @@ -230,7 +248,11 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "tweet.write", "users.read"] + "scopes": [ + "tweet.read", + "tweet.write", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -266,7 +288,7 @@ { "name": "SearchRecentTweetsByKeywords", "qualifiedName": "X.SearchRecentTweetsByKeywords", - "fullyQualifiedName": "X.SearchRecentTweetsByKeywords@1.1.1", + "fullyQualifiedName": "X.SearchRecentTweetsByKeywords@1.3.1", "description": "Search for recent tweets (last 7 days) on X (Twitter) by required keywords and phrases.\nIncludes replies and reposts.\nOne of the following input parameters MUST be provided: keywords, phrases", "parameters": [ { @@ -307,7 +329,10 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "users.read"] + "scopes": [ + "tweet.read", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -320,12 +345,19 @@ "toolName": "X.SearchRecentTweetsByKeywords", "parameters": { "keywords": { - "value": ["technology", "AI", "innovation"], + "value": [ + "technology", + "AI", + "innovation" + ], "type": "array", "required": false }, "phrases": { - "value": ["machine learning", "data science"], + "value": [ + "machine learning", + "data science" + ], "type": "array", "required": false }, @@ -348,7 +380,7 @@ { "name": "SearchRecentTweetsByUsername", "qualifiedName": "X.SearchRecentTweetsByUsername", - "fullyQualifiedName": "X.SearchRecentTweetsByUsername@1.1.1", + "fullyQualifiedName": "X.SearchRecentTweetsByUsername@1.3.1", "description": "Search for recent tweets (last 7 days) on X (Twitter) by username.\nIncludes replies and reposts.", "parameters": [ { @@ -379,7 +411,10 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "users.read"] + "scopes": [ + "tweet.read", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -411,11 +446,40 @@ "authProvider": "x", "tabLabel": "Call the Tool with User Authorization" } + }, + { + "name": "WhoAmI", + "qualifiedName": "X.WhoAmI", + "fullyQualifiedName": "X.WhoAmI@1.3.1", + "description": "Get information about the authenticated X (Twitter) user.\n\nReturns the current user's profile including their username, name, description,\nfollower counts, and other account information.", + "parameters": [], + "auth": { + "providerId": "x", + "providerType": "oauth2", + "scopes": [ + "users.read", + "tweet.read" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Authenticated user's profile information" + }, + "documentationChunks": [], + "codeExample": { + "toolName": "X.WhoAmI", + "parameters": {}, + "requiresAuth": true, + "authProvider": "x", + "tabLabel": "Call the Tool with User Authorization" + } } ], "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:46:46.899Z", - "summary": "Arcade.dev provides a powerful toolkit for interacting with X (Twitter), enabling developers to seamlessly integrate Twitter functionality into their applications. This toolkit offers a variety of features to manage tweets, user information, and search capabilities.\n\n**Capabilities**\n- Post, delete, and reply to tweets programmatically.\n- Search for recent tweets by keywords or usernames.\n- Retrieve user details by username.\n\n**OAuth**\nProvider: X (Twitter) \nScopes: tweet.read, tweet.write, users.read\n\n**Secrets** \nNo secrets are required for using this toolkit." -} + "generatedAt": "2026-02-18T02:28:27.489Z", + "summary": "X (Twitter) provider: The Arcade toolkit for X exposes LLM-accessible operations to manage tweets, discover content, and inspect account metadata. It enables programmatic tweet lifecycle management, user and content lookup, and search across recent public tweets via OAuth2-authenticated calls.\n\n**Capabilities**\n- Manage tweet lifecycle (create, reply, delete, and quote) with context-aware constraints and metadata handling.\n- Search recent public tweets by keywords or by user for discovery and monitoring.\n- Retrieve and aggregate tweet and user metadata for lookups and analytics.\n- Inspect the authenticated account profile and follower/engagement metrics.\n\n**OAuth**\nProvider: x\nScopes: tweet.read, tweet.write, users.read" +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/youtube.json b/toolkit-docs-generator/data/toolkits/youtube.json index 16d4fb2b0..485290328 100644 --- a/toolkit-docs-generator/data/toolkits/youtube.json +++ b/toolkit-docs-generator/data/toolkits/youtube.json @@ -1,7 +1,7 @@ { "id": "Youtube", "label": "Youtube", - "version": "3.1.2", + "version": "3.1.4", "description": "Arcade.dev LLM tools for searching for YouTube videos"", "metadata": { "category": "search", @@ -9,7 +9,7 @@ "isBYOC": true, "isPro": true, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/search/youtube", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/search/youtube", "isComingSoon": false, "isHidden": false }, @@ -18,7 +18,7 @@ { "name": "GetYoutubeVideoDetails", "qualifiedName": "Youtube.GetYoutubeVideoDetails", - "fullyQualifiedName": "Youtube.GetYoutubeVideoDetails@3.1.2", + "fullyQualifiedName": "Youtube.GetYoutubeVideoDetails@3.1.4", "description": "Get details about a YouTube video.", "parameters": [ { @@ -47,7 +47,9 @@ } ], "auth": null, - "secrets": ["SERP_API_KEY"], + "secrets": [ + "SERP_API_KEY" + ], "secretsInfo": [ { "name": "SERP_API_KEY", @@ -85,7 +87,7 @@ { "name": "SearchForVideos", "qualifiedName": "Youtube.SearchForVideos", - "fullyQualifiedName": "Youtube.SearchForVideos@3.1.2", + "fullyQualifiedName": "Youtube.SearchForVideos@3.1.4", "description": "Search for YouTube videos related to the query.", "parameters": [ { @@ -122,7 +124,9 @@ } ], "auth": null, - "secrets": ["SERP_API_KEY"], + "secrets": [ + "SERP_API_KEY" + ], "secretsInfo": [ { "name": "SERP_API_KEY", @@ -166,6 +170,6 @@ "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:46:54.196Z", + "generatedAt": "2026-02-18T02:28:33.189Z", "summary": "Arcade.dev provides a toolkit for interacting with YouTube, enabling developers to search for videos and retrieve video details seamlessly. This toolkit simplifies tasks related to enhancing applications with YouTube content.\n\n**Capabilities** \n- Search for videos based on specific queries \n- Retrieve detailed information about YouTube videos \n- Supports integration of YouTube functionalities into applications \n- Allows quick access to video data for enhanced user experiences \n\n**OAuth** \n- No OAuth authentication required. \n\n**Secrets** \n- API Key: Use the `SERP_API_KEY` to authenticate API requests for video data." -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/zohobooksapi.json b/toolkit-docs-generator/data/toolkits/zohobooksapi.json index 8ca8d3fa6..12d3ae343 100644 --- a/toolkit-docs-generator/data/toolkits/zohobooksapi.json +++ b/toolkit-docs-generator/data/toolkits/zohobooksapi.json @@ -1,39 +1,44402 @@ { "id": "ZohoBooksApi", "label": "Zoho Books API", - "version": "0.0.0", - "description": null, + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the zoho-books API.", "metadata": { "category": "payments", "iconUrl": "https://design-system.arcade.dev/icons/zoho-books.svg", "isBYOC": false, "isPro": false, "type": "arcade_starter", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/payments/zoho-books-api", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/payments/zoho-books-api", "isComingSoon": false, "isHidden": false }, - "auth": null, - "tools": [], - "documentationChunks": [ - { - "type": "section", - "location": "custom_section", - "position": "after", - "content": "## Secrets\n\nThis MCP Server requires the `ZOHO_SERVER_URL` secret to be configured. Learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets).\n\n### Getting your Zoho Server URL\n\nThe Zoho Server URL is the base URL for your Zoho account's data center. Zoho operates in multiple data centers around the world, and you must use the correct URL for your account.\n\nYour Zoho Server URL depends on which data center your account is registered in:\n\n| Data Center | Server URL |\n| ----------- | --------------------------- |\n| US | `https://books.zoho.com` |\n| EU | `https://books.zoho.eu` |\n| India | `https://books.zoho.in` |\n| Australia | `https://books.zoho.com.au` |\n| China | `https://books.zoho.com.cn` |\n\nTo determine which data center your account uses:\n\n1. Log in to your Zoho Books account\n2. Look at the URL in your browser's address bar\n3. The domain (`.com`, `.eu`, `.in`, `.com.au`, or `.com.cn`) indicates your data center\n\nFor example, if you access Zoho Books at `https://books.zoho.eu`, your server URL is `https://books.zoho.eu`.\n\nThe server URL is used as the base for all API requests. For example, when retrieving invoices, the full URL would be constructed as:\n\n```\n{zoho_server_url}/api/v3/invoices?organization_id=...\n```\n\nWhich would become `https://books.zoho.com/api/v3/invoices?organization_id=...` for US accounts.", - "header": "## Secrets" - }, - { - "type": "markdown", - "location": "auth", - "position": "after", - "content": "The ZohoBooksApi MCP Server uses the Auth Provider with id `arcade-zoho` to connect to users' Zoho Books accounts. In order to use the MCP Server, you will need to configure the `arcade-zoho` auth provider.\nLearn how to configure the Zoho auth provider in the [Zoho auth provider documentation](/references/auth-providers/zoho).", - "header": "## Auth" + "auth": { + "type": "oauth2", + "providerId": "zoho", + "allScopes": [ + "ZohoBooks.accountants.CREATE", + "ZohoBooks.accountants.DELETE", + "ZohoBooks.accountants.READ", + "ZohoBooks.accountants.UPDATE", + "ZohoBooks.banking.CREATE", + "ZohoBooks.banking.DELETE", + "ZohoBooks.banking.READ", + "ZohoBooks.banking.UPDATE", + "ZohoBooks.bills.CREATE", + "ZohoBooks.bills.DELETE", + "ZohoBooks.bills.READ", + "ZohoBooks.bills.UPDATE", + "ZohoBooks.contacts.CREATE", + "ZohoBooks.contacts.DELETE", + "ZohoBooks.contacts.READ", + "ZohoBooks.contacts.UPDATE", + "ZohoBooks.creditnotes.CREATE", + "ZohoBooks.creditnotes.DELETE", + "ZohoBooks.creditnotes.READ", + "ZohoBooks.creditnotes.UPDATE", + "ZohoBooks.customerpayments.CREATE", + "ZohoBooks.customerpayments.DELETE", + "ZohoBooks.customerpayments.READ", + "ZohoBooks.customerpayments.UPDATE", + "ZohoBooks.custommodules.ALL", + "ZohoBooks.debitnotes.CREATE", + "ZohoBooks.debitnotes.DELETE", + "ZohoBooks.debitnotes.READ", + "ZohoBooks.debitnotes.UPDATE", + "ZohoBooks.estimates.CREATE", + "ZohoBooks.estimates.DELETE", + "ZohoBooks.estimates.READ", + "ZohoBooks.estimates.UPDATE", + "ZohoBooks.expenses.CREATE", + "ZohoBooks.expenses.DELETE", + "ZohoBooks.expenses.READ", + "ZohoBooks.expenses.UPDATE", + "ZohoBooks.fixedasset.CREATE", + "ZohoBooks.fixedasset.DELETE", + "ZohoBooks.fixedasset.READ", + "ZohoBooks.fixedasset.UPDATE", + "ZohoBooks.invoices.CREATE", + "ZohoBooks.invoices.DELETE", + "ZohoBooks.invoices.READ", + "ZohoBooks.invoices.UPDATE", + "ZohoBooks.projects.CREATE", + "ZohoBooks.projects.DELETE", + "ZohoBooks.projects.READ", + "ZohoBooks.projects.UPDATE", + "ZohoBooks.purchaseorders.CREATE", + "ZohoBooks.purchaseorders.DELETE", + "ZohoBooks.purchaseorders.READ", + "ZohoBooks.purchaseorders.UPDATE", + "ZohoBooks.salesorders.CREATE", + "ZohoBooks.salesorders.DELETE", + "ZohoBooks.salesorders.READ", + "ZohoBooks.salesorders.UPDATE", + "ZohoBooks.settings.ALL", + "ZohoBooks.settings.CREATE", + "ZohoBooks.settings.DELETE", + "ZohoBooks.settings.READ", + "ZohoBooks.settings.UPDATE", + "ZohoBooks.vendorpayments.CREATE", + "ZohoBooks.vendorpayments.DELETE", + "ZohoBooks.vendorpayments.READ", + "ZohoBooks.vendorpayments.UPDATE" + ] + }, + "tools": [ + { + "name": "AcceptEstimate", + "qualifiedName": "ZohoBooksApi.AcceptEstimate", + "fullyQualifiedName": "ZohoBooksApi.AcceptEstimate@1.0.0", + "description": "Mark a sent estimate as accepted if the customer has accepted it.\n\nUse this tool to update the status of a sent estimate to accepted once your customer has approved it.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID for the organization related to the estimate acceptance.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the estimate to be marked as accepted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_estimate_accepted'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AcceptEstimate", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-00045", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateBankAccount", + "qualifiedName": "ZohoBooksApi.ActivateBankAccount", + "fullyQualifiedName": "ZohoBooksApi.ActivateBankAccount@1.0.0", + "description": "Activate a bank account in Zoho Books.\n\nThis tool is used to mark a bank account as active in Zoho Books. It should be called when there is a need to change the status of a bank account to active.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. This ID is required to activate a bank account within the specified organization.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account to be activated in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_bank_account_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateBankAccount", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": "100023456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateChartOfAccount", + "qualifiedName": "ZohoBooksApi.ActivateChartOfAccount", + "fullyQualifiedName": "ZohoBooksApi.ActivateChartOfAccount@1.0.0", + "description": "Activate a chart of account in Zoho Books.\n\nUse this tool to update the status of a chart of account to active in Zoho Books. This is useful when you need to ensure an account is reactivated and available for transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books that needs the account to be activated.", + "enum": null, + "inferrable": true + }, + { + "name": "account_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the account to be activated in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_chart_of_account_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateChartOfAccount", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "account_unique_identifier": { + "value": "100000000000123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateContact", + "qualifiedName": "ZohoBooksApi.ActivateContact", + "fullyQualifiedName": "ZohoBooksApi.ActivateContact@1.0.0", + "description": "Activate a contact in Zoho Books.\n\nUse this tool to mark a contact as active in Zoho Books. It should be called when a contact's status needs to be changed from inactive to active.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the contact belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact to be marked as active.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_contact_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateContact", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "contact_identifier": { + "value": "C1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateFixedAsset", + "qualifiedName": "ZohoBooksApi.ActivateFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.ActivateFixedAsset@1.0.0", + "description": "Activate a fixed asset to begin depreciation calculation.\n\nUse this tool to mark a fixed asset as active, which will initiate the calculation of its depreciation.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization. This is required to identify which organization's asset to activate.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_id", + "type": "string", + "required": true, + "description": "Unique identifier of the fixed asset to activate for depreciation calculation.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_fixed_asset_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateFixedAsset", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "fixed_asset_id": { + "value": "fa_9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateInactiveItem", + "qualifiedName": "ZohoBooksApi.ActivateInactiveItem", + "fullyQualifiedName": "ZohoBooksApi.ActivateInactiveItem@1.0.0", + "description": "Activate an inactive item in Zoho Books.\n\nUse this tool to reactivate an item that has been previously marked as inactive in Zoho Books. It should be called when you need to make an item available again for transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for your organization in Zoho Books. Required to activate an item.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the item to be activated in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_item_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateInactiveItem", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "item_identifier": { + "value": "ITEM-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateInactiveUser", + "qualifiedName": "ZohoBooksApi.ActivateInactiveUser", + "fullyQualifiedName": "ZohoBooksApi.ActivateInactiveUser@1.0.0", + "description": "Mark an inactive user as active.\n\nUse this tool to activate a user who is currently marked as inactive in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the user will be reactivated. Ensure it matches the organization's records.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the user to be activated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_user_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateInactiveUser", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "user_identifier": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateInvoiceReminder", + "qualifiedName": "ZohoBooksApi.ActivateInvoiceReminder", + "fullyQualifiedName": "ZohoBooksApi.ActivateInvoiceReminder@1.0.0", + "description": "Enable automated payment reminders for invoices.\n\nActivate automatic reminders for invoice payments to ensure timely settlements.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice payment reminder is being activated.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice for which payment reminders are to be activated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'enable_invoice_payment_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateInvoiceReminder", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateLocation", + "qualifiedName": "ZohoBooksApi.ActivateLocation", + "fullyQualifiedName": "ZohoBooksApi.ActivateLocation@1.0.0", + "description": "Marks a location as active.\n\nUse this tool to mark a specified location as active in the system. This is useful for enabling locations that were previously inactive.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to which the location belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "location_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the location to be marked as active.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_location_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateLocation", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "location_identifier": { + "value": "LOC-001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateProject", + "qualifiedName": "ZohoBooksApi.ActivateProject", + "fullyQualifiedName": "ZohoBooksApi.ActivateProject@1.0.0", + "description": "Activate a project in Zoho Books.\n\nThis tool marks a specified project as active in Zoho Books. Call this tool when you need to change the status of a project to active to enable its functionalities or integrations.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in which the project is to be activated.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the project to activate in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_project_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateProject", + "parameters": { + "organization_id": { + "value": "6701234567", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "PROJECT_ABC123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddCommentToBill", + "qualifiedName": "ZohoBooksApi.AddCommentToBill", + "fullyQualifiedName": "ZohoBooksApi.AddCommentToBill@1.0.0", + "description": "Add a comment to a specific bill in Zoho Books.\n\n Use this tool to add a comment to a bill identified by its ID in Zoho Books. Useful for internal notes or communication about a bill.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required to specify which organization's bill to comment on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the bill to add a comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_bill_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddCommentToBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "bill_identifier": { + "value": "BILL-0001234", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Internal note: please review the disputed charge and confirm vendor clarification.\",\"is_public\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddContactAddress", + "qualifiedName": "ZohoBooksApi.AddContactAddress", + "fullyQualifiedName": "ZohoBooksApi.AddContactAddress@1.0.0", + "description": "Add an additional address to a contact in Zoho Books.\n\n Use this tool to append a new address to an existing contact in Zoho Books. Suitable when updating contact details with more location information.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the contact address will be added. This is required to specify the target organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": false, + "description": "The unique identifier for the contact to which an address will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_contact_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddContactAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60012345678", + "type": "string", + "required": false + }, + "contact_id": { + "value": "30098765432", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"address_title\":\"Head Office\",\"attention\":\"Jane Smith\",\"address\":\"123 Main St, Suite 400\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"United States\",\"phone\":\"+1-415-555-0123\",\"fax\":\"\",\"is_primary\":false}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddCreditNoteComment", + "qualifiedName": "ZohoBooksApi.AddCreditNoteComment", + "fullyQualifiedName": "ZohoBooksApi.AddCreditNoteComment@1.0.0", + "description": "Add a comment to an existing credit note.\n\n Use this tool to append a comment to a specific credit note by providing the credit note's ID and the comment text. Ideal for documenting additional information or context on credit notes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The string ID of the organization to which the credit note belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to which the comment will be added. This is required to specify the exact credit note targeted for the comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_credit_note_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddCreditNoteComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Approved refund processed. Applied credit to next invoice.\",\"is_public\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddEstimateComment", + "qualifiedName": "ZohoBooksApi.AddEstimateComment", + "fullyQualifiedName": "ZohoBooksApi.AddEstimateComment@1.0.0", + "description": "Add a comment for a specific estimate in Zoho Books.\n\n Use this tool to add a comment to an existing estimate in Zoho Books. Call it when you need to append notes or feedback to an estimate record.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization within Zoho Books. It is required to specify which organization's estimate is being commented on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific estimate to comment on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_estimate_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddEstimateComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "60012345678", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Approved. Please proceed to invoice.\",\"is_private\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddFixedAssetComment", + "qualifiedName": "ZohoBooksApi.AddFixedAssetComment", + "fullyQualifiedName": "ZohoBooksApi.AddFixedAssetComment@1.0.0", + "description": "Add a comment to a fixed asset in Zoho Books.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. This is required to add a comment to the fixed asset. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the fixed asset to add a comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_fixed_asset_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddFixedAssetComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6001234567890123456", + "type": "string", + "required": false + }, + "fixed_asset_identifier": { + "value": "FA-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"description\":\"Performed annual audit. No discrepancies.\",\"is_public\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddInvoiceComment", + "qualifiedName": "ZohoBooksApi.AddInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.AddInvoiceComment@1.0.0", + "description": "Add a comment to a specific invoice.\n\n Use this tool to add a comment to an invoice by specifying the invoice ID. Useful for internal notes or communication related to invoice handling.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the invoice belongs. It must be a valid and existing organization ID. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to add a comment to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddInvoiceComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\": {\"comment\": \"Internal note: Customer requested a 15-day payment extension due to shipping delay.\", \"is_private\": true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddJournalComment", + "qualifiedName": "ZohoBooksApi.AddJournalComment", + "fullyQualifiedName": "ZohoBooksApi.AddJournalComment@1.0.0", + "description": "Add a comment to a journal entry in Zoho Books.\n\n This tool adds a comment to a specified journal entry in Zoho Books. Call this tool when you need to annotate or provide additional information for a journal entry.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books where the comment is to be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_unique_id", + "type": "string", + "required": false, + "description": "The unique identifier for the journal entry to which the comment will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_journal_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddJournalComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "685234567", + "type": "string", + "required": false + }, + "journal_unique_id": { + "value": "JRN-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"journal_comment\":{\"comment\":\"Reviewed and approved by finance.\",\"notify_users\":[\"finance-team@example.com\"]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddProjectTask", + "qualifiedName": "ZohoBooksApi.AddProjectTask", + "fullyQualifiedName": "ZohoBooksApi.AddProjectTask@1.0.0", + "description": "Add a task to a specific project.\n\n Use this tool to add a task to a specified project in Zoho Books. It is suitable when you need to organize tasks within a project and track them through Zoho's project management system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the task is being added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the project in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_task'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddProjectTask", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": false + }, + "project_identifier": { + "value": "proj_112233", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"task_name\":\"Design homepage\",\"description\":\"Create initial UI mockups and gather feedback\",\"assigned_to\":\"user_12345\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-03-10\",\"billable\":true,\"hourly_rate\":75.0,\"priority\":\"High\",\"status\":\"Open\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddPurchaseOrderComment", + "qualifiedName": "ZohoBooksApi.AddPurchaseOrderComment", + "fullyQualifiedName": "ZohoBooksApi.AddPurchaseOrderComment@1.0.0", + "description": "Add a comment to a purchase order in Zoho Books.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This ID is required to specify which organization's purchase order is being commented on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the purchase order in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_purchase_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddPurchaseOrderComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1623456789abcdef", + "type": "string", + "required": false + }, + "purchase_order_identifier": { + "value": "PO-2026-000123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\": {\"comment\": \"Please expedite delivery and confirm ETA.\", \"is_private\": false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddRetainerInvoiceComment", + "qualifiedName": "ZohoBooksApi.AddRetainerInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.AddRetainerInvoiceComment@1.0.0", + "description": "Add a comment to a specific retainer invoice.\n\n This tool is used to add a comment to a specified retainer invoice in Zoho Books. It should be called when a user wishes to provide additional information or notes related to an existing retainer invoice.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique ID string of the organization in Zoho Books to add a comment to a retainer invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "A unique identifier for the retainer invoice you want to comment on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_retainer_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddRetainerInvoiceComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60012345678", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "RINV-00012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\": {\"description\": \"Adding a note: please confirm receipt of the retainer and bill against milestone 2. Attach any related approval documents if available.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddSalesOrderComment", + "qualifiedName": "ZohoBooksApi.AddSalesOrderComment", + "fullyQualifiedName": "ZohoBooksApi.AddSalesOrderComment@1.0.0", + "description": "Add a comment to a sales order in Zoho Books.\n\n This tool is used to add a comment to a specific sales order in Zoho Books. It should be called when you need to leave additional remarks or notes on a sales order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to which the comment will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_sales_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddSalesOrderComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "SO-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Please expedite shipping. Customer requested delivery by Friday.\",\"is_private\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddVendorCreditComment", + "qualifiedName": "ZohoBooksApi.AddVendorCreditComment", + "fullyQualifiedName": "ZohoBooksApi.AddVendorCreditComment@1.0.0", + "description": "Add a comment to an existing vendor credit.\n\n Use this tool to add a comment to a vendor credit in Zoho Books. It should be called when you need to attach notes or additional information to a vendor credit entry.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization the vendor credit belongs to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor credit to which the comment will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_vendor_credit_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddVendorCreditComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "vendor_credit_identifier": { + "value": "9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Approved after verification. Payment scheduled for next cycle.\",\"is_public\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApplyCreditNoteToInvoice", + "qualifiedName": "ZohoBooksApi.ApplyCreditNoteToInvoice", + "fullyQualifiedName": "ZohoBooksApi.ApplyCreditNoteToInvoice@1.0.0", + "description": "Apply credit note to existing invoices in Zoho Books.\n\n This tool applies a credit note to specific existing invoices within the Zoho Books platform. It should be called when you want to manage or adjust invoice balances by using available credit notes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization within Zoho Books to which the credit note is being applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to apply to invoices. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'apply_credit_note_to_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApplyCreditNoteToInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "CN-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"invoices\":[{\"invoice_id\":\"987654321\",\"amount_applied\":150.00},{\"invoice_id\":\"987654322\",\"amount_applied\":50.00}],\"note\":\"Applying credit note to outstanding invoices\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApplyCreditsToInvoice", + "qualifiedName": "ZohoBooksApi.ApplyCreditsToInvoice", + "fullyQualifiedName": "ZohoBooksApi.ApplyCreditsToInvoice@1.0.0", + "description": "Apply customer credits to an invoice.\n\n This tool applies customer credits, from credit notes or excess payments, to a specified invoice. It can apply multiple credits at once.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to identify where credits are applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to which credits will be applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'apply_credits_to_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApplyCreditsToInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "invoice_unique_identifier": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"credits\":[{\"credit_id\":\"CRD-0001\",\"amount_applied\":150.00},{\"credit_id\":\"CRD-0002\",\"amount_applied\":25.50}],\"note\":\"Applying available credits to reduce invoice balance\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApplyVendorCreditsToBill", + "qualifiedName": "ZohoBooksApi.ApplyVendorCreditsToBill", + "fullyQualifiedName": "ZohoBooksApi.ApplyVendorCreditsToBill@1.0.0", + "description": "Apply vendor credits to a bill.\n\n This tool applies vendor credits from excess payments to a specified bill. It is useful for managing accounts and applying multiple credits at once.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization where credits are being applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the bill to apply credits to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'apply_credits_to_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApplyVendorCreditsToBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "bill_identifier": { + "value": "BILL-00012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_credits\": [{\"vendor_credit_id\": \"VC-1001\", \"amount_applied\": 150.00}, {\"vendor_credit_id\": \"VC-1002\", \"amount_applied\": 50.00}], \"apply_date\": \"2026-02-18\", \"notes\": \"Applying excess vendor credits to bill BILL-00012345\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApplyVendorCreditToBill", + "qualifiedName": "ZohoBooksApi.ApplyVendorCreditToBill", + "fullyQualifiedName": "ZohoBooksApi.ApplyVendorCreditToBill@1.0.0", + "description": "Apply vendor credit to an existing bill in Zoho Books.\n\n Use this tool to apply a specific vendor credit to existing bills. It helps manage and track accounts payable by adjusting bills with vendor credits.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization where the vendor credit will be applied. Required for identification within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor credit to be applied to a bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'apply_credits_to_a_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApplyVendorCreditToBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "vendor_credit_identifier": { + "value": "VC-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_credit_id\":\"VC-2026-0001\",\"apply_to\":[{\"bill_id\":\"BILL-98765\",\"amount_applied\":150.00},{\"bill_id\":\"BILL-98766\",\"amount_applied\":50.00}],\"notes\":\"Applying vendor credit to two bills\",\"date\":\"2026-02-18\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveBill", + "qualifiedName": "ZohoBooksApi.ApproveBill", + "fullyQualifiedName": "ZohoBooksApi.ApproveBill@1.0.0", + "description": "Approve a bill in Zoho Books.\n\nThis tool approves a specified bill in Zoho Books. It should be used when you need to change the status of a bill to approved.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization for which the bill needs approval.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to be approved in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveBill", + "parameters": { + "organization_identifier": { + "value": "60000000001", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveCreditNote", + "qualifiedName": "ZohoBooksApi.ApproveCreditNote", + "fullyQualifiedName": "ZohoBooksApi.ApproveCreditNote@1.0.0", + "description": "Approve a credit note for a specified ID.\n\nUse this tool to approve a credit note by providing the specific credit note ID. This action confirms the validity and acceptance of the credit note within the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the credit note is being approved.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_identifier", + "type": "string", + "required": true, + "description": "A unique string identifier for the specific credit note to approve.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveCreditNote", + "parameters": { + "organization_id": { + "value": "669874321", + "type": "string", + "required": true + }, + "credit_note_identifier": { + "value": "CN-2026-0453", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveEstimate", + "qualifiedName": "ZohoBooksApi.ApproveEstimate", + "fullyQualifiedName": "ZohoBooksApi.ApproveEstimate@1.0.0", + "description": "Approve an estimate in Zoho Books.\n\nUse this tool to approve an estimate in the Zoho Books system when you have the estimate ID. It should be called when an estimate needs to be confirmed as approved.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books whose estimate is being approved. This should be the unique identifier associated with the organization.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate to be approved in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveEstimate", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveInvoice", + "qualifiedName": "ZohoBooksApi.ApproveInvoice", + "fullyQualifiedName": "ZohoBooksApi.ApproveInvoice@1.0.0", + "description": "Approve a specified invoice for processing.\n\nThis tool approves a pending invoice given its ID, making it ready for processing. Call this tool when an invoice requires approval to proceed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the invoice is to be approved.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to approve.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveInvoice", + "parameters": { + "organization_identifier": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApprovePurchaseOrder", + "qualifiedName": "ZohoBooksApi.ApprovePurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.ApprovePurchaseOrder@1.0.0", + "description": "Approve a purchase order.\n\nThis tool approves a specified purchase order in Zoho Books. It should be called when a purchase order needs to be authorized for further processing.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which to approve the purchase order. This should be a unique string identifier provided by Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the purchase order to be approved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApprovePurchaseOrder", + "parameters": { + "organization_id": { + "value": "66962000000012345", + "type": "string", + "required": true + }, + "purchase_order_identifier": { + "value": "669620000001234567", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveRetainerInvoice", + "qualifiedName": "ZohoBooksApi.ApproveRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.ApproveRetainerInvoice@1.0.0", + "description": "Approve a retainer invoice in Zoho Books.\n\nUse this tool to approve a specific retainer invoice in Zoho Books when you have the invoice ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the retainer invoice is being approved.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to approve.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveRetainerInvoice", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "4000987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveSalesOrder", + "qualifiedName": "ZohoBooksApi.ApproveSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.ApproveSalesOrder@1.0.0", + "description": "Approve a specified sales order in Zoho Books.\n\nUse this tool to approve a particular sales order within the Zoho Books system. This is typically called when a sales order needs to be confirmed and finalized.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books required for approving a sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "The unique identifier for the sales order to be approved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveSalesOrder", + "parameters": { + "organization_identifier": { + "value": "352341000000123456", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "352341000000654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveVendorCredit", + "qualifiedName": "ZohoBooksApi.ApproveVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.ApproveVendorCredit@1.0.0", + "description": "Approve a vendor credit in Zoho Books.\n\nThis tool approves a vendor credit in Zoho Books, marking the credit as accepted for the specified vendor credit ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books. This uniquely identifies the organization for which the vendor credit approval will be processed.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to be approved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveVendorCredit", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AssignUsersToProject", + "qualifiedName": "ZohoBooksApi.AssignUsersToProject", + "fullyQualifiedName": "ZohoBooksApi.AssignUsersToProject@1.0.0", + "description": "Assign users to a specific project in Zoho Books.\n\n Use this tool to assign multiple users to a project in Zoho Books when managing project teams or updating project participation.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique ID of the organization in Zoho Books for which users are being assigned to a project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the project to which users will be assigned. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AssignUsersToProject", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "project_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"users\":[{\"user_id\":\"1122334455\",\"role\":\"Developer\",\"billable\":true,\"hourly_rate\":50.0},{\"user_id\":\"2233445566\",\"role\":\"Designer\",\"billable\":false}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AssociateInvoiceWithSalesOrder", + "qualifiedName": "ZohoBooksApi.AssociateInvoiceWithSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.AssociateInvoiceWithSalesOrder@1.0.0", + "description": "Link existing invoices to sales orders for tracking.\n\n This tool is used to associate existing invoices with one or more sales orders, enabling better tracking and management of orders and billing.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required for linking invoices with sales orders. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'map_invoice_with_salesorder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AssociateInvoiceWithSalesOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "537282000000123456", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"invoice_id\":\"INV-0001\",\"salesorder_ids\":[\"SO-1001\",\"SO-1002\"]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachExpenseReceipt", + "qualifiedName": "ZohoBooksApi.AttachExpenseReceipt", + "fullyQualifiedName": "ZohoBooksApi.AttachExpenseReceipt@1.0.0", + "description": "Attach a receipt to a specified expense.\n\nUse this tool to attach a receipt file to an existing expense record, identified by the expense ID. It is helpful when you need to provide proof or documentation for expense entries in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_id", + "type": "string", + "required": true, + "description": "Unique identifier for the expense to which the receipt will be attached.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_receipt_file", + "type": "string", + "required": false, + "description": "The file to attach as an expense receipt. Supported formats: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_expense_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachExpenseReceipt", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "expense_id": { + "value": "987654321098765", + "type": "string", + "required": true + }, + "expense_receipt_file": { + "value": "receipt_2026-02-18.pdf", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToBill", + "qualifiedName": "ZohoBooksApi.AttachFileToBill", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToBill@1.0.0", + "description": "Attach a file to a specific bill.\n\nUse this tool to attach a file to a specific bill in Zoho Books. It should be called when you need to upload and associate documents, such as receipts or invoices, with a bill.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books to which the bill belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bill for which the file will be attached. Use this to specify the target bill in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "file_attachment", + "type": "string", + "required": false, + "description": "File to attach to the bill. Accepted formats: gif, png, jpeg, jpg, bmp, pdf.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_bill_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToBill", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "bill_id": { + "value": "987654321", + "type": "string", + "required": true + }, + "file_attachment": { + "value": "receipt-2026-02-18.pdf", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToInvoice", + "qualifiedName": "ZohoBooksApi.AttachFileToInvoice", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToInvoice@1.0.0", + "description": "Attach a file to an invoice.\n\n Use this tool to upload and attach a file to a specified retainer invoice. This is useful for adding supporting documents or additional information to invoices.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to which the invoice belongs. Required to specify the correct entity for file attachment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the retainer invoice to which the file will be attached. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_retainer_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "retainer_invoice_identifier": { + "value": "RET-INV-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"file_name\":\"retainer-receipt.pdf\",\"file_content\":\"JVBERi0xLjQKJcTl8uXrp/Og0MTGCjEgMCBvYmoKPDwvTGluZWFyaXplZCAxL0wgMTAwMC9PIDMvRSAxMDk0L04gMQovVCAxMDAwPj4Kc3RyZWFtCnic7VtNb9swEL3nK4pQp2gq0gqS7QbW2m2tq0tQwqTq6gq6gq6gq6gq6gq6gq6gq6gqf8w5g76ZkY2Rz5nM7s7u7vX9f9w8pX2A8Yf4w7Yw==\",\"content_type\":\"application/pdf\",\"description\":\"Receipt for retainer payment attached to invoice RET-INV-2026-0001\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToJournal", + "qualifiedName": "ZohoBooksApi.AttachFileToJournal", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToJournal@1.0.0", + "description": "Attach a file to a Zoho Books journal entry.\n\nThis tool is used to attach a file to a specific journal entry in Zoho Books. Use it when you need to upload and associate documents or files with journal entries for record-keeping or documentation purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization where the file will be attached. This is used to specify the target organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_unique_identifier", + "type": "string", + "required": true, + "description": "Provide the unique identifier for the specific journal entry to which the file will be attached.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_file_path", + "type": "string", + "required": false, + "description": "The path to the file that will be attached to the journal in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "document_to_attach", + "type": "string", + "required": false, + "description": "The document or file to be attached to the journal entry in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "total_number_of_files", + "type": "integer", + "required": false, + "description": "Specify the total number of files to be attached to the journal. Ensure this matches the actual number of attachments.", + "enum": null, + "inferrable": true + }, + { + "name": "document_identifiers", + "type": "string", + "required": false, + "description": "A string of document IDs that need to be attached. These IDs should be associated with the documents intended for attachment.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_journal_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToJournal", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "journal_unique_identifier": { + "value": "9876543210", + "type": "string", + "required": true + }, + "attachment_file_path": { + "value": "/home/user/docs/journal_receipt.pdf", + "type": "string", + "required": false + }, + "document_to_attach": { + "value": "data:application/pdf;base64,JVBERi0xLjQKJcfs...", + "type": "string", + "required": false + }, + "total_number_of_files": { + "value": 1, + "type": "integer", + "required": false + }, + "document_identifiers": { + "value": "doc_abc123,doc_def456", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToPurchaseOrder", + "qualifiedName": "ZohoBooksApi.AttachFileToPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToPurchaseOrder@1.0.0", + "description": "Attach a file to a specified purchase order.\n\nUse this tool to attach a file to a specified purchase order in Zoho Books. Useful for adding supplementary documents or files to your existing purchase orders.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "The unique identifier of the purchase order to which the file will be attached.", + "enum": null, + "inferrable": true + }, + { + "name": "file_attachment", + "type": "string", + "required": false, + "description": "The file to attach to the purchase order. Must be one of the following formats: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, or docx.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_purchase_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToPurchaseOrder", + "parameters": { + "organization_id": { + "value": "659825000000123456", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "124000000000012345", + "type": "string", + "required": true + }, + "file_attachment": { + "value": "supplier_invoice_2026-02-18.pdf", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToSalesOrder", + "qualifiedName": "ZohoBooksApi.AttachFileToSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToSalesOrder@1.0.0", + "description": "Attach a file to a specific sales order in Zoho Books.\n\nThis tool is used to attach a file to a specific sales order in Zoho Books. It should be called when you need to upload and associate a document with a sales order for tracking or record-keeping purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to which the file will be attached.", + "enum": null, + "inferrable": true + }, + { + "name": "file_to_attach", + "type": "string", + "required": false, + "description": "Path or identifier of the file to be attached to the sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "document_file_path", + "type": "string", + "required": false, + "description": "Path to the document file that needs to be attached to the sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "number_of_files", + "type": "integer", + "required": false, + "description": "Specify the total number of files to be attached to the sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "document_identifiers", + "type": "string", + "required": false, + "description": "A string representing the IDs of the documents to attach. Comma-separated for multiple IDs.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_sending_file_in_mail", + "type": "boolean", + "required": false, + "description": "Boolean indicating if the file can be sent in mail. True allows sending.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_sales_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToSalesOrder", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "sales_order_identifier": { + "value": "SO-1001", + "type": "string", + "required": true + }, + "file_to_attach": { + "value": "/uploads/sales_orders/SO-1001/invoice_SO-1001.pdf", + "type": "string", + "required": false + }, + "document_file_path": { + "value": "/var/data/zoho_docs/invoice_SO-1001.pdf", + "type": "string", + "required": false + }, + "number_of_files": { + "value": 1, + "type": "integer", + "required": false + }, + "document_identifiers": { + "value": "doc_abc123,doc_def456", + "type": "string", + "required": false + }, + "allow_sending_file_in_mail": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachInvoiceFile", + "qualifiedName": "ZohoBooksApi.AttachInvoiceFile", + "fullyQualifiedName": "ZohoBooksApi.AttachInvoiceFile@1.0.0", + "description": "Attach a file to a specified invoice.\n\nUse this tool to attach a file to a specific invoice using its ID. It is useful for adding documents related to the invoice.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice attachment is being added. This is required to identify the specific organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the invoice to attach the file to.", + "enum": null, + "inferrable": true + }, + { + "name": "file_to_attach", + "type": "string", + "required": false, + "description": "The file to be attached. Allowed extensions: gif, png, jpeg, jpg, bmp, pdf.", + "enum": null, + "inferrable": true + }, + { + "name": "send_attachment_in_email", + "type": "boolean", + "required": false, + "description": "Set to True to send the attachment with the invoice when emailed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachInvoiceFile", + "parameters": { + "organization_identifier": { + "value": "600123456", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "file_to_attach": { + "value": "invoice_600123456_INV-2026-0001.pdf", + "type": "string", + "required": false + }, + "send_attachment_in_email": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "BulkDeleteCustomerPayments", + "qualifiedName": "ZohoBooksApi.BulkDeleteCustomerPayments", + "fullyQualifiedName": "ZohoBooksApi.BulkDeleteCustomerPayments@1.0.0", + "description": "Delete multiple customer payments efficiently.\n\nUse this tool to remove several customer payments at once in Zoho Books. It's ideal for managing large-scale payment data cleanup.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier string for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_ids_to_delete", + "type": "string", + "required": true, + "description": "Comma-separated list of payment IDs to be deleted in the bulk operation.", + "enum": null, + "inferrable": true + }, + { + "name": "perform_bulk_delete", + "type": "boolean", + "required": true, + "description": "Set to true to perform the bulk delete operation for customer payments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_delete_customer_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.BulkDeleteCustomerPayments", + "parameters": { + "organization_id": { + "value": "ORG98765", + "type": "string", + "required": true + }, + "payment_ids_to_delete": { + "value": "PMT12345,PMT12346,PMT12347", + "type": "string", + "required": true + }, + "perform_bulk_delete": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CancelFixedAsset", + "qualifiedName": "ZohoBooksApi.CancelFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.CancelFixedAsset@1.0.0", + "description": "Cancel a fixed asset in Zoho Books.\n\nUse this tool to cancel a fixed asset in Zoho Books by providing the fixed asset ID. This changes the status of the asset to canceled.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required to specify which organization's fixed asset to cancel.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_id", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset to be canceled.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_fixed_asset_cancel'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CancelFixedAsset", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "fixed_asset_id": { + "value": "FA-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CancelPurchaseOrder", + "qualifiedName": "ZohoBooksApi.CancelPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.CancelPurchaseOrder@1.0.0", + "description": "Cancel a specific purchase order in Zoho Books.\n\nUse this tool to mark a purchase order as cancelled within the Zoho Books platform. This is useful when an order needs to be invalidated or stopped.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The identifier for the organization in Zoho Books. This ID is required to specify which organization's purchase order should be cancelled.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "The unique identifier of the purchase order to be cancelled.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_purchase_order_cancelled'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CancelPurchaseOrder", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CancelWriteOffInvoice", + "qualifiedName": "ZohoBooksApi.CancelWriteOffInvoice", + "fullyQualifiedName": "ZohoBooksApi.CancelWriteOffInvoice@1.0.0", + "description": "Cancel the write-off amount of an invoice in Zoho Books.\n\nUse this tool to revert the write-off process of an invoice in Zoho Books. This action can be performed when an invoice's write-off needs to be canceled, typically to amend financial records or correct a mistake.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books whose invoice write-off is to be canceled.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the invoice whose write-off is to be canceled.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'cancel_write_off_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CancelWriteOffInvoice", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_unique_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeBankTransaction", + "qualifiedName": "ZohoBooksApi.CategorizeBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.CategorizeBankTransaction@1.0.0", + "description": "Categorize an uncategorized bank transaction.\n\n This tool categorizes an uncategorized bank transaction by creating a new transaction. Use it when a bank transaction needs to be classified into a specific category.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "Provide the ID of the organization to categorize the transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to be categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeBankTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "ORG123456789", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "BTX-00012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"transaction_type\":\"expense\",\"date\":\"2026-02-15\",\"amount\":150.00,\"currency\":\"USD\",\"contact_id\":\"CNT-98765\",\"line_items\":[{\"description\":\"Office supplies\",\"account_id\":\"ACCT-54321\",\"amount\":150.00}],\"notes\":\"Categorized from bank feed\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeBankTransactionAsExpense", + "qualifiedName": "ZohoBooksApi.CategorizeBankTransactionAsExpense", + "fullyQualifiedName": "ZohoBooksApi.CategorizeBankTransactionAsExpense@1.0.0", + "description": "Categorize an uncategorized bank transaction as an expense.\n\n Use this tool to classify an uncategorized bank transaction as an expense in Zoho Books. It should be called when a user needs to organize their financial records by assigning a transaction to the expense category.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required to identify which organization's transaction is being categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier for the bank transaction to be categorized as an expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_document", + "type": "string", + "required": false, + "description": "Document file to attach with the transaction as a string (e.g., base64 encoded or URL). Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_number_of_files", + "type": "integer", + "required": false, + "description": "Total count of files to be attached to the transaction. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "document_identifiers", + "type": "integer", + "required": false, + "description": "Comma-separated list of document IDs to be attached to the transaction. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction_as_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeBankTransactionAsExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "BTX-987654321", + "type": "string", + "required": false + }, + "attachment_document": { + "value": "https://example.com/receipts/receipt1.jpg", + "type": "string", + "required": false + }, + "total_number_of_files": { + "value": 1, + "type": "integer", + "required": false + }, + "document_identifiers": { + "value": "456,789", + "type": "integer", + "required": false + }, + "request_body": { + "value": "{\"expense_account_id\":\"100200\",\"amount\":150.75,\"transaction_date\":\"2026-02-18\",\"vendor_name\":\"Office Supplies Inc.\",\"description\":\"Purchase of printer paper and ink\",\"currency_id\":\"USD\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeBankTransactionPaymentRefund", + "qualifiedName": "ZohoBooksApi.CategorizeBankTransactionPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.CategorizeBankTransactionPaymentRefund@1.0.0", + "description": "Categorize bank transactions as payment refunds.\n\n Use this tool to categorize uncategorized bank transactions specifically as payment refunds in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_statement_line_id", + "type": "string", + "required": false, + "description": "Unique identifier for the bank statement line to be categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction_as_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeBankTransactionPaymentRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bank_statement_line_id": { + "value": "BSL-456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"payment_refund\": {\"refund_account_id\": \"3216549870\", \"amount\": 150.00, \"date\": \"2026-02-15\", \"contact_id\": \"9876543210\", \"reference_number\": \"RF-2026-001\", \"notes\": \"Refund for overpayment on invoice INV-2025-123\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeRefundVendorCredit", + "qualifiedName": "ZohoBooksApi.CategorizeRefundVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.CategorizeRefundVendorCredit@1.0.0", + "description": "Categorize transactions as vendor credit refunds.\n\n Use this tool to categorize an uncategorized transaction as a refund from a vendor credit in Zoho Books. Call this tool when you need to identify and organize transactions involving vendor credit refunds.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Specify the ID of the organization for which the transaction is being categorized as a vendor credit refund. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to categorize as a vendor credit refund. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_as_vendor_credit_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeRefundVendorCredit", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "BT-987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_credit_id\":\"VC-1001\",\"applied_amount\":150.00,\"currency\":\"USD\",\"date\":\"2026-02-10\",\"notes\":\"Applied vendor credit as refund for bank transaction BT-987654321\",\"account_id\":\"ACC-2002\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeTransactionAsPayment", + "qualifiedName": "ZohoBooksApi.CategorizeTransactionAsPayment", + "fullyQualifiedName": "ZohoBooksApi.CategorizeTransactionAsPayment@1.0.0", + "description": "Categorize an uncategorized transaction as a Customer Payment.\n\n Use this tool to categorize an uncategorized bank transaction as a Customer Payment in Zoho Books. This should be called when you need to update the categorization status of bank transactions.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books for which the transaction is being categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to be categorized as Customer Payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction_as_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeTransactionAsPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "BTX-987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"CUST-1001\",\"date\":\"2026-02-10\",\"amount\":250.75,\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"PAY-20260210-01\",\"account_id\":\"ACCT-2001\",\"description\":\"Categorized as customer payment via API\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeTransactionAsRefund", + "qualifiedName": "ZohoBooksApi.CategorizeTransactionAsRefund", + "fullyQualifiedName": "ZohoBooksApi.CategorizeTransactionAsRefund@1.0.0", + "description": "Categorize a transaction as a credit note refund.\n\n Use this tool to categorize an uncategorized bank transaction specifically as a refund from a credit note.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Must match the organization in Zoho Books to categorize transactions accurately. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to categorize as a refund from a credit note. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_as_credit_note_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeTransactionAsRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "transaction_id": { + "value": "TXN-98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"credit_note_id\":\"CN-1001\",\"refund_amount\":150.00,\"refund_date\":\"2026-02-15\",\"notes\":\"Refund processed against credit note CN-1001\",\"bank_account_id\":\"BANK-12345\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeTransactionAsVendorPayment", + "qualifiedName": "ZohoBooksApi.CategorizeTransactionAsVendorPayment", + "fullyQualifiedName": "ZohoBooksApi.CategorizeTransactionAsVendorPayment@1.0.0", + "description": "Categorize a bank transaction as a vendor payment.\n\n Use this tool to categorize an uncategorized bank transaction as a vendor payment in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique string ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to categorize as vendor payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction_as_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeTransactionAsVendorPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "transaction_id": { + "value": "BTX-89012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"123456789\",\"payment_account_id\":\"987654321\",\"amount\":1500.00,\"payment_date\":\"2024-02-15\",\"reference_number\":\"INV-PAY-20240215\",\"notes\":\"Payment for invoices INV-1001, INV-1002\",\"invoices\":[{\"invoice_id\":\"INV-1001\",\"amount_applied\":1000.00},{\"invoice_id\":\"INV-1002\",\"amount_applied\":500.00}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeVendorPaymentRefund", + "qualifiedName": "ZohoBooksApi.CategorizeVendorPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.CategorizeVendorPaymentRefund@1.0.0", + "description": "Categorize bank transactions as Vendor Payment Refund.\n\n Use this tool to categorize uncategorized bank transactions as vendor payment refunds. It should be called when organizing financial data related to refunds from vendors.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization whose transactions are being categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_statement_line_id", + "type": "string", + "required": false, + "description": "Unique identifier for the bank statement line to categorize as Vendor Payment Refund. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_as_vendor_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeVendorPaymentRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "bank_statement_line_id": { + "value": "BSL-20260210-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"VENDOR-00123\",\"amount\":250.00,\"currency_code\":\"USD\",\"transaction_date\":\"2026-02-10\",\"reference_number\":\"REF-20260210-01\",\"notes\":\"Refund from vendor for returned items.\",\"account_id\":\"BANK-ACC-456789\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CloneProject", + "qualifiedName": "ZohoBooksApi.CloneProject", + "fullyQualifiedName": "ZohoBooksApi.CloneProject@1.0.0", + "description": "Clone an existing project in Zoho Books.\n\n Use this tool to create a copy of an existing project in Zoho Books. It's useful for duplicating project setups with similar parameters or settings.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": false, + "description": "Unique string identifier of the project to be cloned. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'clone_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CloneProject", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1122334455", + "type": "string", + "required": false + }, + "project_unique_identifier": { + "value": "proj_abc123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Website Redesign (Clone)\",\"owner_id\":\"987654321\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-06-30\",\"billable\":true,\"budget_hours\":200,\"tags\":[\"redesign\",\"high-priority\"]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ConvertCreditNoteToDraft", + "qualifiedName": "ZohoBooksApi.ConvertCreditNoteToDraft", + "fullyQualifiedName": "ZohoBooksApi.ConvertCreditNoteToDraft@1.0.0", + "description": "Convert a voided credit note to a draft status.\n\nUse this tool to change the status of a voided credit note back to draft in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be converted to draft.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_credit_note_draft'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ConvertCreditNoteToDraft", + "parameters": { + "organization_id": { + "value": "100000000000123", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "200000000000456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ConvertPurchaseOrderToBill", + "qualifiedName": "ZohoBooksApi.ConvertPurchaseOrderToBill", + "fullyQualifiedName": "ZohoBooksApi.ConvertPurchaseOrderToBill@1.0.0", + "description": "Fetch bill payload from purchase orders.\n\nThis tool retrieves the bill payload for selected purchase orders using their IDs. It should be called when you want to convert purchase orders into a bill. After obtaining the payload, use it to create a bill in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Enter the ID of the organization for which the bill will be created.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_ids", + "type": "string", + "required": true, + "description": "Comma-separated IDs of the purchase orders to be converted into a bill.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'convert_purchase_order_to_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ConvertPurchaseOrderToBill", + "parameters": { + "organization_id": { + "value": "987654321", + "type": "string", + "required": true + }, + "purchase_order_ids": { + "value": "1122334455,2233445566", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateAssociatedTax", + "qualifiedName": "ZohoBooksApi.CreateAssociatedTax", + "fullyQualifiedName": "ZohoBooksApi.CreateAssociatedTax@1.0.0", + "description": "Create and associate a tax with an item.\n\n This tool creates a tax that can be added to an item within the Zoho Books system. It is used when a new tax needs to be defined and linked to specific goods or services.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books where the tax will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_tax'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateAssociatedTax", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax\":{\"tax_name\":\"Service Tax\",\"tax_rate\":8,\"is_compound\":false,\"is_active\":true},\"associate_with\":{\"item_ids\":[\"9876543210\"]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateBankAccount", + "qualifiedName": "ZohoBooksApi.CreateBankAccount", + "fullyQualifiedName": "ZohoBooksApi.CreateBankAccount@1.0.0", + "description": "Create a bank or credit card account in your organization.\n\n This tool is used to create a new bank account or credit card account for your organization via Zoho Books. Call this tool when you need to add financial accounts to manage and track transactions in your organization's accounting system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which to create the bank or credit card account. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_bank_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateBankAccount", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "678901234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"account_name\":\"Operating Account\",\"account_type\":\"bank\",\"bank_name\":\"First National Bank\",\"account_number\":\"1234567890\",\"routing_number\":\"021000021\",\"currency_code\":\"USD\",\"opening_balance\":5000.00,\"description\":\"Main operating checking account\",\"is_active\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateBankTransaction", + "qualifiedName": "ZohoBooksApi.CreateBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.CreateBankTransaction@1.0.0", + "description": "Creates a bank transaction in Zoho Books.\n\n This tool is used to create a bank transaction within Zoho Books. It should be called when a user needs to log a financial transaction using allowed transaction types.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the bank transaction is to be created. This ID helps identify the specific organization within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateBankTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"bank_transaction\":{\"transaction_type\":\"deposit\",\"account_id\":\"9876543210\",\"date\":\"2026-02-10\",\"amount\":1500.00,\"payment_mode\":\"Cheque\",\"reference_number\":\"CHK-20260210-001\",\"description\":\"Client refund for invoice INV-1001\",\"contact_id\":\"54321\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateBusinessContact", + "qualifiedName": "ZohoBooksApi.CreateBusinessContact", + "fullyQualifiedName": "ZohoBooksApi.CreateBusinessContact@1.0.0", + "description": "Create a new business contact with comprehensive details.\n\n Use this tool to create a contact in Zoho Books with information such as name, company details, addresses, and more. This contact can be utilized for various business transactions like invoices and estimates.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the contact is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateBusinessContact", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"contact_name\":\"Jane Smith\",\"company_name\":\"Greenfield Consulting LLC\",\"contact_type\":\"customer\",\"display_name\":\"Greenfield Consulting\",\"email\":\"jane.smith@greenfieldconsulting.com\",\"phone\":\"+1-555-123-4567\",\"mobile\":\"+1-555-987-6543\",\"fax\":\"+1-555-111-2222\",\"website\":\"https://www.greenfieldconsulting.com\",\"is_taxable\":true,\"tax_id\":\"GSTIN123456\",\"currency_id\":\"USD\",\"payment_terms\":30,\"bill_address\":{\"address\":\"100 Market St, Suite 500\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"100 Market St, Suite 500\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"contact_persons\":[{\"first_name\":\"Jane\",\"last_name\":\"Smith\",\"email\":\"jane.smith@greenfieldconsulting.com\",\"phone\":\"+1-555-123-4567\",\"is_primary_contact\":true}],\"notes\":\"Primary point of contact for consulting engagements. Payment terms: Net 30.\",\"custom_fields\":[{\"label\":\"Industry\",\"value\":\"Consulting\"},{\"label\":\"Account Manager\",\"value\":\"Carlos Mendez\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateChartOfAccount", + "qualifiedName": "ZohoBooksApi.CreateChartOfAccount", + "fullyQualifiedName": "ZohoBooksApi.CreateChartOfAccount@1.0.0", + "description": "Creates an account with a specified account type.\n\n This tool is used to create a new account within the chart of accounts by specifying the type of account desired. It is suitable when setting up financial frameworks or managing accounting structures.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the account is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_chart_of_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateChartOfAccount", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"account\": {\"account_name\": \"Office Supplies\",\"account_type\": \"Expense\",\"account_code\": \"EXP-0023\",\"description\": \"Expenses for office supplies and stationery\",\"parent_account_id\": \"9876543210\",\"is_bank_account\": false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateContactPerson", + "qualifiedName": "ZohoBooksApi.CreateContactPerson", + "fullyQualifiedName": "ZohoBooksApi.CreateContactPerson@1.0.0", + "description": "Create a contact person for a contact in Zoho Books.\n\n Use this tool to add a new contact person associated with a contact in Zoho Books. It facilitates managing additional contact person details within the platform.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization where the contact person will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_contact_person'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateContactPerson", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"contact_person\":{\"contact_id\":\"9876543210\",\"first_name\":\"Jane\",\"last_name\":\"Smith\",\"email\":\"jane.smith@example.com\",\"phone\":\"555-1234\",\"mobile\":\"555-5678\",\"is_primary_contact\":true,\"salutation\":\"Ms.\",\"designation\":\"Director\",\"department\":\"Marketing\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCreditNote", + "qualifiedName": "ZohoBooksApi.CreateCreditNote", + "fullyQualifiedName": "ZohoBooksApi.CreateCreditNote@1.0.0", + "description": "Create a new credit note for customer adjustments.\n\n Use this tool to create a credit note when issuing credits to customers for reasons such as returned items, overpayments, or necessary adjustments. It supports multi-currency, custom line items, tax calculations, and workflows.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the credit note is being created. Required for identifying the correct entity within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_id", + "type": "string", + "required": false, + "description": "Invoice ID for the required invoice to associate with the credit note. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "use_custom_credit_note_number", + "type": "boolean", + "required": false, + "description": "Set to true to provide your own credit note number, bypassing auto-numbering. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCreditNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "ORG-55555", + "type": "string", + "required": false + }, + "invoice_id": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "use_custom_credit_note_number": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"creditnote\":{\"customer_id\":\"1234567890\",\"date\":\"2026-02-15\",\"reference_number\":\"Return-2026-02-15\",\"creditnote_number\":\"CN-2026-0001\",\"currency_code\":\"USD\",\"exchange_rate\":1.0,\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Returned widget\",\"quantity\":2,\"rate\":49.99,\"tax_id\":\"TAX123\"},{\"description\":\"Adjustment for overcharge\",\"quantity\":1,\"rate\":15.0}],\"notes\":\"Issued for returned items and overcharge correction.\",\"status\":\"issued\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCurrency", + "qualifiedName": "ZohoBooksApi.CreateCurrency", + "fullyQualifiedName": "ZohoBooksApi.CreateCurrency@1.0.0", + "description": "Create a currency for transactions in Zoho Books.\n\n Use this tool to add a new currency for use in transactions within Zoho Books. This is useful when expanding the supported currencies for financial activities.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the currency is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_currency'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCurrency", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"code\":\"EUR\",\"name\":\"Euro\",\"symbol\":\"€\",\"currency_format\":\"symbol_first\",\"exchange_rate\":1.0,\"decimal_places\":2,\"is_active\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCurrencyAdjustment", + "qualifiedName": "ZohoBooksApi.CreateCurrencyAdjustment", + "fullyQualifiedName": "ZohoBooksApi.CreateCurrencyAdjustment@1.0.0", + "description": "Create a base currency adjustment.\n\n This tool creates an adjustment to the base currency based on the provided information. It is used to update and manage currency values in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required for currency adjustments. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "account_identifiers", + "type": "string", + "required": false, + "description": "Comma-separated IDs of accounts for currency adjustments in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_base_currency_adjustment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCurrencyAdjustment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "org_123456789", + "type": "string", + "required": false + }, + "account_identifiers": { + "value": "acct_1001,acct_1002", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"date\":\"2026-02-01\",\"reference_number\":\"ADJ-2026-0001\",\"description\":\"Adjustment due to revaluation of base currency\",\"adjustments\":[{\"account_id\":\"acct_1001\",\"amount\":1500.00,\"currency_code\":\"USD\",\"exchange_rate\":1.0},{\"account_id\":\"acct_1002\",\"amount\":-1500.00,\"currency_code\":\"EUR\",\"exchange_rate\":0.92}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomerDebitNote", + "qualifiedName": "ZohoBooksApi.CreateCustomerDebitNote", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomerDebitNote@1.0.0", + "description": "Create a customer debit note for invoice adjustments.\n\n This tool is used to create a customer debit note when there are additional charges or adjustments needed for an existing invoice in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "A unique identifier for the organization to which the debit note will be associated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_debit_note", + "type": "boolean", + "required": false, + "description": "Set to true to send the debit note to the associated contacts. Accepts true or false. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic debit note number generation, requiring manual entry. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_customer_debit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomerDebitNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "send_debit_note": { + "value": true, + "type": "boolean", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"9876543210\",\"invoice_id\":\"555666777\",\"date\":\"2026-02-18\",\"reference_number\":\"DN-2026-001\",\"line_items\":[{\"item_id\":\"111222333\",\"description\":\"Adjustment for additional shipping\",\"quantity\":1,\"rate\":25.0,\"account_id\":\"777888999\",\"tax_id\":\"444555666\"}],\"notes\":\"Debit note issued to capture additional shipping charge.\",\"billing_address\":{\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomerEstimate", + "qualifiedName": "ZohoBooksApi.CreateCustomerEstimate", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomerEstimate@1.0.0", + "description": "Create an estimate for a customer using Zoho Books.\n\n Use this tool to generate a new estimate for a customer within the Zoho Books system. This could be useful when users need to provide potential price quotes or service costs to clients.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the estimate is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_estimate_to_contact", + "type": "boolean", + "required": false, + "description": "Set to true to send the estimate to the contact person(s) associated with it, false to skip sending. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_automatic_estimate_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to bypass automatic estimate number generation. This requires specifying an estimate number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomerEstimate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "369182740", + "type": "string", + "required": false + }, + "send_estimate_to_contact": { + "value": true, + "type": "boolean", + "required": false + }, + "ignore_automatic_estimate_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"987654321\",\"date\":\"2026-03-01\",\"expiry_date\":\"2026-03-31\",\"estimate_number\":\"EST-2026-001\",\"reference_number\":\"REF-001\",\"line_items\":[{\"item_id\":\"11111\",\"name\":\"Website Design\",\"description\":\"Responsive website design, up to 5 pages\",\"rate\":1500.00,\"quantity\":1,\"taxes\":[{\"name\":\"GST\",\"percentage\":18}]},{\"item_id\":\"22222\",\"name\":\"Monthly Hosting\",\"description\":\"Hosting and maintenance\",\"rate\":50.00,\"quantity\":12}],\"discount\":100.0,\"billing_address\":{\"address\":\"123 Main St\",\"city\":\"Mumbai\",\"state\":\"Maharashtra\",\"zip\":\"400001\",\"country\":\"India\"},\"shipping_address\":{\"address\":\"123 Main St\",\"city\":\"Mumbai\",\"state\":\"Maharashtra\",\"zip\":\"400001\",\"country\":\"India\"},\"notes\":\"Estimate valid for 30 days\",\"terms\":\"Payment due within 30 days\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomerInvoice", + "qualifiedName": "ZohoBooksApi.CreateCustomerInvoice", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomerInvoice@1.0.0", + "description": "Create an invoice for your customer.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the invoice is created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_invoice_to_contacts", + "type": "boolean", + "required": false, + "description": "Boolean to determine if the invoice is sent to the contact persons. Use 'true' to send, 'false' otherwise. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore auto invoice number generation, requiring manual input. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_quick_create_mode", + "type": "boolean", + "required": false, + "description": "Enable quick create mode for streamlined invoice creation with minimal required fields. Set to true for activation. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_batch_payments", + "type": "boolean", + "required": false, + "description": "Enable batch payment processing for the invoice. True means the invoice is included in batch operations. Requires 'is_quick_create' to be true. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomerInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6543210000000001", + "type": "string", + "required": false + }, + "send_invoice_to_contacts": { + "value": true, + "type": "boolean", + "required": false + }, + "ignore_auto_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "enable_quick_create_mode": { + "value": true, + "type": "boolean", + "required": false + }, + "enable_batch_payments": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"123456789012345\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-04\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Consulting services\",\"rate\":150.0,\"quantity\":10}],\"reference_number\":\"INV-1001\",\"notes\":\"Thank you for your business.\",\"terms\":\"Net 14\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomerPayment", + "qualifiedName": "ZohoBooksApi.CreateCustomerPayment", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomerPayment@1.0.0", + "description": "Create a new customer payment in Zoho Books.\n\n Use this tool to record a new payment for a customer in Zoho Books. It should be called when you need to add a payment entry for accounting purposes or to update a customer's payment status.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This is necessary to associate the payment with the correct organization. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomerPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "373948302", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"84291000000012345\",\"payment_mode\":\"Online\",\"amount\":1500.00,\"date\":\"2026-02-18\",\"reference_number\":\"PAY-20260218-001\",\"description\":\"Payment for invoice INV-1001\",\"bank_account_id\":\"84091000000054321\",\"invoices\":[{\"invoice_id\":\"84091000000067890\",\"amount_applied\":1500.00}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomModule", + "qualifiedName": "ZohoBooksApi.CreateCustomModule", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomModule@1.0.0", + "description": "Creates a custom module in Zoho Books.\n\n Use this tool to create a custom module in Zoho Books. Specify the module name as needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the custom module is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_name", + "type": "string", + "required": false, + "description": "Specify the name for the custom module to be created in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_custom_module'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomModule", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "custom_module_name": { + "value": "ProjectTasks", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"module_name\":\"ProjectTasks\",\"singular_label\":\"Project Task\",\"plural_label\":\"Project Tasks\",\"description\":\"Custom module for tracking project tasks\",\"modules_fields\":[{\"label\":\"Task Name\",\"data_type\":\"text\",\"required\":true},{\"label\":\"Start Date\",\"data_type\":\"date\",\"required\":false},{\"label\":\"Due Date\",\"data_type\":\"date\",\"required\":false},{\"label\":\"Assigned To\",\"data_type\":\"user\",\"required\":false},{\"label\":\"Status\",\"data_type\":\"picklist\",\"pick_list_values\":[\"Not Started\",\"In Progress\",\"Completed\"],\"required\":false},{\"label\":\"Estimate Hours\",\"data_type\":\"number\",\"required\":false}],\"is_feeds_enabled\":false,\"is_custom\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateEmployeeForExpense", + "qualifiedName": "ZohoBooksApi.CreateEmployeeForExpense", + "fullyQualifiedName": "ZohoBooksApi.CreateEmployeeForExpense@1.0.0", + "description": "Create an employee for an expense record in Zoho Books.\n\n This tool is used to create a new employee entry for the purpose of logging an expense in Zoho Books. It should be called when there is a need to register an employee related to specific expenses.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books where the employee will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_employee'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateEmployeeForExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"employee\":{\"first_name\":\"Jane\",\"last_name\":\"Doe\",\"email\":\"jane.doe@example.com\",\"employee_id\":\"EMP-1024\",\"designation\":\"Sales Executive\",\"mobile\":\"+15550102\",\"department\":\"Sales\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateExchangeRate", + "qualifiedName": "ZohoBooksApi.CreateExchangeRate", + "fullyQualifiedName": "ZohoBooksApi.CreateExchangeRate@1.0.0", + "description": "Create an exchange rate for a specified currency.\n\n This tool should be called when you need to create a new exchange rate for a specific currency in Zoho Books. It allows you to define exchange rates between specified currencies.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the exchange rate is being created. This must be a unique identifier within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the currency used to create the exchange rate in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_exchange_rate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateExchangeRate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "currency_identifier": { + "value": "EUR", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"exchange_rate\": {\"base_currency\": \"USD\", \"currency_code\": \"EUR\", \"rate\": 0.92, \"effective_date\": \"2026-02-18\", \"notes\": \"Quarterly update\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateExpense", + "qualifiedName": "ZohoBooksApi.CreateExpense", + "fullyQualifiedName": "ZohoBooksApi.CreateExpense@1.0.0", + "description": "Create a billable or non-billable expense record.\n\n Use this tool to create an expense entry that can be marked as billable or non-billable. Ideal for tracking expenses in your financial system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the expense is being recorded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_receipt_file", + "type": "string", + "required": false, + "description": "File path or URL for the expense receipt. Accepted formats: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "expense_receipt_file": { + "value": "https://example.com/receipts/taxi-2026-02-15.jpg", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"date\":\"2026-02-15\",\"account_id\":\"123456789\",\"vendor_id\":\"987654321\",\"amount\":125.5,\"currency_code\":\"USD\",\"description\":\"Taxi fare from airport to client site\",\"is_billable\":true,\"customer_id\":\"54321\",\"project_id\":\"112233\",\"reference_number\":\"TX-2026-0215\",\"notes\":\"Receipt attached\",\"line_items\":[{\"item_id\":\"1001\",\"description\":\"Taxi fare\",\"quantity\":1,\"rate\":125.5}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateFinancialAccountRule", + "qualifiedName": "ZohoBooksApi.CreateFinancialAccountRule", + "fullyQualifiedName": "ZohoBooksApi.CreateFinancialAccountRule@1.0.0", + "description": "Create and apply rules for banking and credit accounts.\n\n This tool allows you to create a rule for deposits, withdrawals, refunds, or charges on bank and credit card accounts. It should be called when you need to automate financial processes by setting specific rules for account transactions.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Used to specify which organization's account rules are being altered. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_bank_account_rule'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateFinancialAccountRule", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6001970000001234567", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"rule_name\":\"Auto Categorize PayPal Sales\",\"account_id\":\"987654321\",\"transaction_type\":\"deposit\",\"match_conditions\":[{\"field\":\"description\",\"operator\":\"contains\",\"value\":\"PayPal\"},{\"field\":\"amount\",\"operator\":\"greater_than\",\"value\":0}],\"actions\":[{\"action_type\":\"set_account\",\"account_code\":\"4000\"},{\"action_type\":\"apply_tax\",\"tax_name\":\"Sales Tax\",\"tax_percent\":8.5}],\"apply_to_existing\":true,\"is_active\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateFixedAsset", + "qualifiedName": "ZohoBooksApi.CreateFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.CreateFixedAsset@1.0.0", + "description": "Create a fixed asset in Zoho Books.\n\n This tool is used to create a fixed asset in the Zoho Books platform. It should be called when a user wants to register a new fixed asset in their accounting records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books for which the fixed asset is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateFixedAsset", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"asset_name\":\"Office Laptop - Dell XPS 13\",\"asset_code\":\"FA-2026-001\",\"description\":\"Laptop for marketing manager\",\"acquisition_date\":\"2026-01-15\",\"cost\":1499.00,\"salvage_value\":100.00,\"depreciation_method\":\"straight_line\",\"useful_life_years\":3,\"depreciation_start_date\":\"2026-01-31\",\"vendor_name\":\"Dell Inc.\",\"purchase_document_number\":\"INV-2026-450\",\"location\":\"New York Office - 5th Floor\",\"serial_number\":\"SN123456789\",\"warranty_expiry_date\":\"2029-01-15\",\"notes\":\"Assigned to Jane Doe\",\"purchase_account_id\":\"4001\",\"opening_book_value\":1499.00}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateFixedAssetType", + "qualifiedName": "ZohoBooksApi.CreateFixedAssetType", + "fullyQualifiedName": "ZohoBooksApi.CreateFixedAssetType@1.0.0", + "description": "Create a fixed asset type in Zoho Books.\n\n Use this tool to create a new fixed asset type in Zoho Books whenever you need to categorize assets. It facilitates asset management by defining specific asset categories.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which to create the fixed asset type. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_fixed_asset_type'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateFixedAssetType", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"asset_type_name\":\"Computer Equipment\",\"description\":\"Laptops, desktops and peripherals used by staff\",\"depreciation_method\":\"STRAIGHT_LINE\",\"useful_life_years\":5,\"depreciation_rate\":20,\"salvage_value\":0,\"asset_account_id\":\"4000123456\",\"taxable\":false,\"asset_code_prefix\":\"COMP-\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateInvoiceFromSalesOrder", + "qualifiedName": "ZohoBooksApi.CreateInvoiceFromSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.CreateInvoiceFromSalesOrder@1.0.0", + "description": "Create an invoice from a confirmed sales order.\n\nUse this tool to instantly generate an invoice based on confirmed sales orders. Ideal for automating billing processes directly from sales orders.", + "parameters": [ + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "The unique identifier of the confirmed sales order to create an invoice for.", + "enum": null, + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice is being created. This must be a valid string ID.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_invoice_from_salesorder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateInvoiceFromSalesOrder", + "parameters": { + "sales_order_id": { + "value": "SO-2026-000123", + "type": "string", + "required": true + }, + "organization_id": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateJournalEntry", + "qualifiedName": "ZohoBooksApi.CreateJournalEntry", + "fullyQualifiedName": "ZohoBooksApi.CreateJournalEntry@1.0.0", + "description": "Create a journal entry in Zoho Books.\n\n Use this tool to add a new journal entry in Zoho Books. It should be called when there's a need to record financial transactions manually.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_journal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateJournalEntry", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "5412345678901234567", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"journal_date\":\"2026-02-18\",\"reference_number\":\"JE-1001\",\"notes\":\"Adjusting accruals for February\",\"journal_entries\":[{\"account_id\":\"123456789012345\",\"debit_or_credit\":\"debit\",\"amount\":1500.00,\"description\":\"Accrued expenses\"},{\"account_id\":\"987654321098765\",\"debit_or_credit\":\"credit\",\"amount\":1500.00,\"description\":\"Accrual liability\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateNewZohoItem", + "qualifiedName": "ZohoBooksApi.CreateNewZohoItem", + "fullyQualifiedName": "ZohoBooksApi.CreateNewZohoItem@1.0.0", + "description": "Create a new item in Zoho Books inventory.\n\n Use this tool to create a new item in Zoho Books. This is useful for adding products or services to your Zoho inventory for tracking purposes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateNewZohoItem", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Acme Precision Widget\",\"sku\":\"ACME-PW-001\",\"description\":\"High-precision widget for industrial use.\",\"rate\":29.95,\"purchase_rate\":18.5,\"unit\":\"pcs\",\"is_stock_tracked\":true,\"initial_stock\":150,\"opening_stock_rate\":18.5,\"tax_id\":\"9876543210\",\"is_taxable\":true,\"product_type\":\"goods\",\"sales_account_id\":\"4000000001\",\"purchase_account_id\":\"5000000001\",\"status\":\"active\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateOpeningBalance", + "qualifiedName": "ZohoBooksApi.CreateOpeningBalance", + "fullyQualifiedName": "ZohoBooksApi.CreateOpeningBalance@1.0.0", + "description": "Creates an opening balance for accounts.\n\n Use this tool to create an opening balance with specified account information in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the opening balance is being created. This ID is required to specify the target organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_opening_balance'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateOpeningBalance", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"account_id\":\"987654321\",\"date\":\"2024-01-01\",\"amount\":15000.00,\"currency_code\":\"USD\",\"notes\":\"Opening balance as of 2024-01-01\",\"reference_number\":\"OB-2024-0001\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateOrganizationInZohoBooks", + "qualifiedName": "ZohoBooksApi.CreateOrganizationInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.CreateOrganizationInZohoBooks@1.0.0", + "description": "Create a new organization in Zoho Books.\n\n Use this tool to create a new organization in the Zoho Books platform. It is called when there's a need to add organizational details to Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to be created in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_organization'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateOrganizationInZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "org_987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"company_name\":\"Acme Corp\",\"country\":\"US\",\"currency_code\":\"USD\",\"time_zone\":\"America/Los_Angeles\",\"language\":\"en\",\"fiscal_year_start_month\":\"April\",\"address\":{\"street\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\"},\"phone\":\"+14155552671\",\"company_website\":\"https://www.acme.example\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateOrganizationUser", + "qualifiedName": "ZohoBooksApi.CreateOrganizationUser", + "fullyQualifiedName": "ZohoBooksApi.CreateOrganizationUser@1.0.0", + "description": "Create a user for your organization in Zoho Books.\n\n This tool facilitates the creation of a new user within your organization using Zoho Books' services. It should be called when you need to register a new user in your organization's Zoho Books account.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books where the user will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateOrganizationUser", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"user\":{\"first_name\":\"Alice\",\"last_name\":\"Johnson\",\"email\":\"alice.johnson@example.com\",\"role\":\"Standard User\",\"is_owner\":false,\"status\":\"active\",\"send_invite\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateProject", + "qualifiedName": "ZohoBooksApi.CreateProject", + "fullyQualifiedName": "ZohoBooksApi.CreateProject@1.0.0", + "description": "Create a new project in Zoho Books.\n\n This tool facilitates the creation of a new project within Zoho Books. It should be called when there's a need to start a new project and integrate it into the Zoho Books system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization in Zoho Books. Required for project creation. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateProject", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"project_name\":\"Website Redesign\",\"customer_id\":\"987654321\",\"owner_id\":\"11223344\",\"status\":\"active\",\"billable\":true,\"currency_id\":\"USD\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-06-30\",\"budget_hours\":240,\"rate_per_hour\":120.0,\"description\":\"Complete redesign of the corporate website, including UX, frontend and backend.\",\"tasks\":[{\"name\":\"Discovery\",\"estimated_hours\":40},{\"name\":\"Design\",\"estimated_hours\":80},{\"name\":\"Development\",\"estimated_hours\":100}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateRecurringBill", + "qualifiedName": "ZohoBooksApi.CreateRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.CreateRecurringBill@1.0.0", + "description": "Create a recurring bill in Zoho Books.\n\n This tool creates a recurring bill in Zoho Books. Use it to automate periodic billing tasks and ensure payments are scheduled consistently.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books for which the recurring bill will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateRecurringBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"9876543210\",\"recurring_name\":\"Monthly Office Supplies\",\"start_date\":\"2026-03-01\",\"next_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"frequency\":\"monthly\",\"interval\":1,\"billing_cycle\":\"forever\",\"currency_code\":\"USD\",\"notes\":\"Automatically generated recurring bill for office supplies\",\"line_items\":[{\"item_id\":\"1001\",\"description\":\"Printer paper\",\"rate\":12.5,\"quantity\":10},{\"item_id\":\"1002\",\"description\":\"Toner cartridge\",\"rate\":75.0,\"quantity\":1}],\"tax_id\":\"2001\",\"shipping_charge\":5.0}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateRecurringExpense", + "qualifiedName": "ZohoBooksApi.CreateRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.CreateRecurringExpense@1.0.0", + "description": "Create a recurring expense in Zoho Books.\n\n Use this tool to create a recurring expense in Zoho Books. It allows you to automate expense tracking by setting expenses to recur at specified intervals.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This ID is necessary to specify which organization's records to create the recurring expense under. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateRecurringExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "305001200000000001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"recurring_expense\":{\"vendor_id\":\"3050012000000123456\",\"reference_number\":\"EXP-1001\",\"date\":\"2026-03-01\",\"currency_id\":\"USD\",\"exchange_rate\":1.0,\"line_items\":[{\"item_id\":\"3050012000000654321\",\"description\":\"Office supplies subscription\",\"rate\":75.0,\"quantity\":1,\"tax_id\":\"3050012000000765432\"}],\"billing_address\":{\"address\":\"123 Main St\",\"city\":\"Anytown\",\"state\":\"CA\",\"zip\":\"90210\",\"country\":\"USA\"},\"notes\":\"Recurring monthly expense for office supplies\",\"recurrence\":{\"interval\":1,\"repeat_unit\":\"month\",\"start_date\":\"2026-03-01\",\"repeat_forever\":false,\"end_date\":\"2027-03-01\"},\"automatic\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateRecurringInvoice", + "qualifiedName": "ZohoBooksApi.CreateRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.CreateRecurringInvoice@1.0.0", + "description": "Create a new recurring invoice in Zoho Books.\n\n This tool creates a new recurring invoice within Zoho Books. Use this tool when you need to automate the billing of customers on a regular schedule. It returns the details of the invoice created, enabling tracking and management of recurring payments.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the recurring invoice is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateRecurringInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"recurring_invoice\":{\"customer_id\":\"1234567890\",\"template_id\":\"987654321\",\"reference_number\":\"RI-1001\",\"frequency\":\"monthly\",\"every\":1,\"start_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"next_date\":\"2026-03-01\",\"billing_cycle\":12,\"line_items\":[{\"item_id\":\"11111\",\"name\":\"Consulting\",\"rate\":150.00,\"quantity\":10},{\"name\":\"Setup Fee\",\"rate\":500.00,\"quantity\":1}],\"notes\":\"Monthly consulting retainer.\",\"terms\":\"Payment due within 15 days.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateRetainerInvoice", + "qualifiedName": "ZohoBooksApi.CreateRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.CreateRetainerInvoice@1.0.0", + "description": "Create a retainer invoice for a customer.\n\n Use this tool to create a retainer invoice for a customer through Zoho Books. It should be called when you need to generate an invoice requiring advance payment or retaining fees for services or products.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the retainer invoice is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic invoice number generation and manually input the invoice number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateRetainerInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"1000000001\",\"date\":\"2026-02-18\",\"invoice_number\":\"RET-2026-001\",\"line_items\":[{\"item_id\":\"5000000001\",\"name\":\"Monthly Retainer\",\"description\":\"Retainer for ongoing consulting services\",\"rate\":2500.00,\"quantity\":1}],\"notes\":\"Advance payment for February 2026 services\",\"terms\":\"Retainer non-refundable\",\"retainer_type\":\"advance\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateSalesOrder", + "qualifiedName": "ZohoBooksApi.CreateSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.CreateSalesOrder@1.0.0", + "description": "Create a sales order for a customer.\n\n This tool creates a sales order for a customer using Zoho Books. It should be called when you need to generate a new sales order in your accounting system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the sales order is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_number_of_files", + "type": "integer", + "required": false, + "description": "Specify the total number of files to be attached to the sales order. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "document_attachment", + "type": "string", + "required": false, + "description": "A document to be attached to the sales order. Provide as a string containing the document details or content. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore auto sales order number generation, requiring manual sales order number entry. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "can_send_via_email", + "type": "boolean", + "required": false, + "description": "Set to true if the file can be sent via email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateSalesOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890abcdef", + "type": "string", + "required": false + }, + "total_number_of_files": { + "value": 1, + "type": "integer", + "required": false + }, + "document_attachment": { + "value": "invoice_attachment.pdf", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "can_send_via_email": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"salesorder\":{\"customer_id\":\"9876543210\",\"date\":\"2026-02-18\",\"salesorder_number\":\"SO-1001\",\"reference_number\":\"REF-2026-02\",\"line_items\":[{\"item_id\":\"112233\",\"name\":\"Widget A\",\"description\":\"High-quality widget\",\"rate\":49.99,\"quantity\":10,\"discount\":0,\"tax_id\":\"445566\"},{\"item_id\":\"112234\",\"name\":\"Service B\",\"description\":\"Installation service\",\"rate\":150.0,\"quantity\":1}],\"billing_address\":{\"attention\":\"John Doe\",\"address\":\"123 Main St\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62701\",\"country\":\"USA\",\"phone\":\"555-0100\"},\"shipping_address\":{\"attention\":\"Jane Smith\",\"address\":\"456 Warehouse Ave\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62702\",\"country\":\"USA\",\"phone\":\"555-0200\"},\"notes\":\"Please deliver between 9am-5pm.\",\"terms\":\"Net 30\",\"currency_id\":\"USD\",\"exchange_rate\":1}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateSalesReceipt", + "qualifiedName": "ZohoBooksApi.CreateSalesReceipt", + "fullyQualifiedName": "ZohoBooksApi.CreateSalesReceipt@1.0.0", + "description": "Create a sales receipt for immediate payment transactions.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization needed to create the sales receipt. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic sales receipt number generation, requiring manual entry of the receipt number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_receipt_via_email", + "type": "boolean", + "required": false, + "description": "Set to true to send the sales receipt to the customer via email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateSalesReceipt", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "send_receipt_via_email": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"987654321\",\"date\":\"2026-02-18\",\"salesreceipt_number\":\"SR-1001\",\"line_items\":[{\"item_id\":\"1111111\",\"name\":\"Consulting Services\",\"description\":\"Monthly consulting\",\"rate\":150.00,\"quantity\":10}],\"payment_options\":{\"mode\":\"online\",\"reference_number\":\"PAY-12345\"},\"notes\":\"Thank you for your business.\",\"currency_code\":\"USD\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateTaxAuthority", + "qualifiedName": "ZohoBooksApi.CreateTaxAuthority", + "fullyQualifiedName": "ZohoBooksApi.CreateTaxAuthority@1.0.0", + "description": "Create a tax authority in Zoho Books.\n\n Use this tool to create a new tax authority in Zoho Books. Suitable for financial administrators managing tax compliance.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the tax authority is to be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_tax_authority'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateTaxAuthority", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_authority\": {\"name\": \"State Sales Tax\",\"code\": \"ST_SALES\",\"is_compound\": false,\"tax_rate\": 7.25,\"description\": \"State-level sales tax for retail transactions\",\"country\": \"US\",\"state\": \"California\",\"tax_account_id\": \"101234567890\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateTaxExemption", + "qualifiedName": "ZohoBooksApi.CreateTaxExemption", + "fullyQualifiedName": "ZohoBooksApi.CreateTaxExemption@1.0.0", + "description": "Create a tax exemption in Zoho Books.\n\n Use this tool to create a tax exemption in Zoho Books when you need to apply tax exemptions for transactions or customers.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books for which the tax exemption is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_tax_exemption'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateTaxExemption", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_exemption\": {\"name\": \"Non-Profit Organization Exemption\", \"exemption_type\": \"customer\", \"description\": \"Tax exemption for registered non-profit organizations\", \"tax_exemption_number\": \"EXEMPT-2026-0001\", \"effective_from\": \"2026-03-01\", \"effective_to\": \"2036-03-01\", \"is_active\": true, \"applicable_taxes\": [{\"tax_id\": \"987654321\", \"tax_name\": \"GST\", \"rate\": 0}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateTaxGroup", + "qualifiedName": "ZohoBooksApi.CreateTaxGroup", + "fullyQualifiedName": "ZohoBooksApi.CreateTaxGroup@1.0.0", + "description": "Create a tax group with multiple associated taxes.\n\n This tool calls the Zoho Books API to create a tax group, allowing you to associate multiple taxes into a single group. Use this tool when you need to manage and apply tax groups for accounting purposes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization within Zoho Books. This is required to create a tax group. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_tax_group'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateTaxGroup", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_group\":{\"tax_group_name\":\"Standard Sales Tax Group\",\"tax_group_taxes\":[{\"tax_id\":\"987654321\",\"tax_name\":\"State Tax\",\"tax_percentage\":5.0},{\"tax_id\":\"123456789\",\"tax_name\":\"Federal Tax\",\"tax_percentage\":2.5}],\"is_compound\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateVendorBill", + "qualifiedName": "ZohoBooksApi.CreateVendorBill", + "fullyQualifiedName": "ZohoBooksApi.CreateVendorBill@1.0.0", + "description": "Create a bill received from your vendor.\n\n Use this tool to log and manage invoices received from vendors by creating a bill in your system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in which the bill will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_file_path", + "type": "string", + "required": false, + "description": "Path to the file to attach. Accepts GIF, PNG, JPEG, JPG, BMP, and PDF formats. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateVendorBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "attachment_file_path": { + "value": "/tmp/invoice_BILL-2026-001.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"bill_number\":\"BILL-2026-001\",\"bill_date\":\"2026-02-15\",\"due_date\":\"2026-03-17\",\"reference_number\":\"PO-4501\",\"line_items\":[{\"item_id\":\"112233\",\"description\":\"Consulting services\",\"rate\":150.0,\"quantity\":10,\"tax_id\":\"TAX001\"},{\"description\":\"Office supplies\",\"account_id\":\"4001\",\"rate\":45.5,\"quantity\":2}],\"notes\":\"Monthly consulting and supplies\",\"currency_code\":\"USD\",\"exchange_rate\":1.0}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateVendorCredit", + "qualifiedName": "ZohoBooksApi.CreateVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.CreateVendorCredit@1.0.0", + "description": "Create vendor credit for returns or adjustments.\n\n Use this tool to record new vendor credits for returned items, overpayments, or adjustments. Supports multi-currency, custom line items, taxes, and workflows.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the vendor credit is being created. Must be a valid organization ID. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_id", + "type": "string", + "required": false, + "description": "Identifier of the bill associated with the vendor credit. Required for linking the credit to a specific transaction. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to bypass auto number generation. A vendor credit number becomes mandatory when enabled. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateVendorCredit", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "bill_id": { + "value": "BILL-2026-0001", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"date\":\"2026-02-15\",\"reference_number\":\"VC-1002\",\"currency_id\":\"USD\",\"exchange_rate\":1.0,\"vendor_credit_number\":\"VC-1002\",\"line_items\":[{\"item_id\":\"1111\",\"name\":\"Returned Widget A\",\"description\":\"Return of 2 units\",\"rate\":50.00,\"quantity\":2,\"tax_id\":\"TAX-1\"}],\"payment_options\":{\"adjustable\":true},\"reference_id\":\"RC-2026-02\",\"notes\":\"Credit issued for returned items\",\"custom_fields\":[{\"label\":\"Return Reason\",\"value\":\"Damaged on arrival\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateVendorPayment", + "qualifiedName": "ZohoBooksApi.CreateVendorPayment", + "fullyQualifiedName": "ZohoBooksApi.CreateVendorPayment@1.0.0", + "description": "Create and apply a payment to a vendor's bill.\n\n This tool is used to record a payment made to a vendor, with the option to apply the payment either partially or fully to the vendor's outstanding bills.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the vendor payment belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateVendorPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_payment\":{\"vendor_id\":\"987654321\",\"date\":\"2025-02-15\",\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"PAY-20250215-001\",\"amount\":1500.00,\"account_id\":\"1122334455\",\"notes\":\"Payment for February bills\",\"apply_to_bills\":[{\"bill_id\":\"BILL-1001\",\"amount_applied\":1000.00},{\"bill_id\":\"BILL-1002\",\"amount_applied\":500.00}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateVendorPurchaseOrder", + "qualifiedName": "ZohoBooksApi.CreateVendorPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.CreateVendorPurchaseOrder@1.0.0", + "description": "Generate a purchase order for a vendor.\n\n Use this tool to create a purchase order for a vendor in Zoho Books. It facilitates procurement by initiating an order with specified vendor details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books for which the purchase order is being created. Required to specify the target organization. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "file_attachment", + "type": "string", + "required": false, + "description": "File path or URL to attach. Allowed extensions: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to disable automatic purchase order number generation, requiring a manual number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateVendorPurchaseOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "file_attachment": { + "value": "https://example.com/attachment.pdf", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"date\":\"2026-02-18\",\"expected_delivery_date\":\"2026-03-01\",\"reference_number\":\"PO-1001\",\"shipping_charge\":25.00,\"adjustment\":0.00,\"notes\":\"Please deliver to our main warehouse.\",\"line_items\":[{\"item_id\":\"11111\",\"name\":\"Widget A\",\"description\":\"High-quality widget\",\"rate\":50.00,\"quantity\":10,\"account_id\":\"40001\"},{\"name\":\"Custom Service\",\"description\":\"Installation service\",\"rate\":150.00,\"quantity\":1,\"account_id\":\"50001\"}],\"billing_address\":{\"street\":\"123 Main St\",\"city\":\"Anytown\",\"state\":\"CA\",\"zip\":\"90210\",\"country\":\"USA\"},\"shipping_address\":{\"street\":\"456 Warehouse Rd\",\"city\":\"Anytown\",\"state\":\"CA\",\"zip\":\"90211\",\"country\":\"USA\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateZohoBookLocation", + "qualifiedName": "ZohoBooksApi.CreateZohoBookLocation", + "fullyQualifiedName": "ZohoBooksApi.CreateZohoBookLocation@1.0.0", + "description": "Create a new location in Zoho Books.\n\n Use this tool to create a new business location within Zoho Books. It handles the setup of location data, allowing integration of new physical or digital locations into the Zoho Books system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the location is being created in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_location'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateZohoBookLocation", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60012345678", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"location\":{\"name\":\"Downtown Store\",\"phone\":\"+1-415-555-0123\",\"email\":\"store@example.com\",\"website\":\"https://downtown.example.com\",\"address\":\"100 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"is_primary\":true,\"timezone\":\"America/Los_Angeles\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreditNoteRefundListing", + "qualifiedName": "ZohoBooksApi.CreditNoteRefundListing", + "fullyQualifiedName": "ZohoBooksApi.CreditNoteRefundListing@1.0.0", + "description": "Retrieve a paginated list of credit note refunds.\n\nUse this tool to get a list of all credit note refunds, including pagination information for navigating through large sets of data.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Use this to specify which organization's credit note refunds to list.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_identifier", + "type": "string", + "required": false, + "description": "ID of the customer for whom the credit note is raised. Provide to filter refunds by customer.", + "enum": null, + "inferrable": true + }, + { + "name": "refunds_sort_column", + "type": "string", + "required": false, + "description": "Specifies the attribute to sort the credit note refunds. Use values like 'refund_mode', 'reference_number', 'date', 'creditnote_number', 'customer_name', 'amount_bcy', or 'amount_fcy'.", + "enum": null, + "inferrable": true + }, + { + "name": "pagination_page_number", + "type": "integer", + "required": false, + "description": "Page number for pagination to specify which page of results to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to display per page in the paginated results. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_note_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreditNoteRefundListing", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "customer_identifier": { + "value": "CUST-001", + "type": "string", + "required": false + }, + "refunds_sort_column": { + "value": "date", + "type": "string", + "required": false + }, + "pagination_page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CrmToBooksContactImport", + "qualifiedName": "ZohoBooksApi.CrmToBooksContactImport", + "fullyQualifiedName": "ZohoBooksApi.CrmToBooksContactImport@1.0.0", + "description": "Import a customer from Zoho CRM to Zoho Books using CRM contact ID.\n\nUse this tool when you need to import a customer from Zoho CRM to Zoho Books based on their CRM contact ID. Ensure that Zoho Books is integrated with Zoho CRM using the correct sync settings for contacts.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "zoho_crm_contact_id", + "type": "string", + "required": true, + "description": "Unique identifier for the Zoho CRM contact to import into Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'import_customer_using_crm_contact_id'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CrmToBooksContactImport", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "zoho_crm_contact_id": { + "value": "3400000123456789012", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeactivateBankAccount", + "qualifiedName": "ZohoBooksApi.DeactivateBankAccount", + "fullyQualifiedName": "ZohoBooksApi.DeactivateBankAccount@1.0.0", + "description": "Deactivate a bank account in Zoho Books.\n\nUse this tool to mark a bank account as inactive in Zoho Books. This can be useful when an account is no longer in use and should be temporarily disabled.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books. This is required to identify which organization's bank account to deactivate.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account to deactivate in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_bank_account_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeactivateBankAccount", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeactivateChartOfAccount", + "qualifiedName": "ZohoBooksApi.DeactivateChartOfAccount", + "fullyQualifiedName": "ZohoBooksApi.DeactivateChartOfAccount@1.0.0", + "description": "Deactivate a specific chart of account.\n\nUse this tool to mark a specific chart of account as inactive in Zoho Books. This is helpful when you need to manage account statuses and ensure they reflect current business requirements.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to deactivate the chart of account for.", + "enum": null, + "inferrable": true + }, + { + "name": "account_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the account to be deactivated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_chart_of_account_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeactivateChartOfAccount", + "parameters": { + "organization_identifier": { + "value": "ORG123456789", + "type": "string", + "required": true + }, + "account_identifier": { + "value": "ACC987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeactivateProject", + "qualifiedName": "ZohoBooksApi.DeactivateProject", + "fullyQualifiedName": "ZohoBooksApi.DeactivateProject@1.0.0", + "description": "Deactivate a project in Zoho Books.\n\nUse this tool to mark a project as inactive in Zoho Books when it is no longer active or needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required for identifying the organization for the project update.", + "enum": null, + "inferrable": true + }, + { + "name": "project_id", + "type": "string", + "required": true, + "description": "The unique identifier of the project to be marked as inactive.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_project_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeactivateProject", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "project_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeactivateUserAccount", + "qualifiedName": "ZohoBooksApi.DeactivateUserAccount", + "fullyQualifiedName": "ZohoBooksApi.DeactivateUserAccount@1.0.0", + "description": "Deactivate a user's account in Zoho Books.\n\nUse this tool to mark an active user as inactive within Zoho Books. It is useful when needing to revoke access or deactivate an account.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization within Zoho Books to which the user belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "user_unique_identifier", + "type": "string", + "required": true, + "description": "Provide the unique identifier of the user to be deactivated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_user_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeactivateUserAccount", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "user_unique_identifier": { + "value": "user_7f3a9b2c", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeclineEstimate", + "qualifiedName": "ZohoBooksApi.DeclineEstimate", + "fullyQualifiedName": "ZohoBooksApi.DeclineEstimate@1.0.0", + "description": "Marks a sent estimate as declined if rejected by customer.\n\nUse this tool to update the status of an estimate to 'declined' when a customer has rejected it. This is helpful in maintaining accurate records of customer interactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which the estimate is being declined.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the estimate to mark as declined.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_estimate_declined'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeclineEstimate", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteAccount", + "qualifiedName": "ZohoBooksApi.DeleteAccount", + "fullyQualifiedName": "ZohoBooksApi.DeleteAccount@1.0.0", + "description": "Delete a chart of account in Zoho Books.\n\nUse this tool to delete an existing chart of account. Note that accounts associated with transactions or products cannot be deleted.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "account_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the account to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_chart_of_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteAccount", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "account_identifier": { + "value": "1000000000001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteAssetComment", + "qualifiedName": "ZohoBooksApi.DeleteAssetComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteAssetComment@1.0.0", + "description": "Delete a comment from a fixed asset in Zoho Books.\n\nUse this tool to delete an existing comment on a fixed asset within Zoho Books by specifying the fixed asset and comment IDs.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization to specify which organization's asset comment you want to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the fixed asset to delete a comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted from the fixed asset.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_fixed_asset_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteAssetComment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-1001", + "type": "string", + "required": true + }, + "comment_id": { + "value": "CMT-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBankAccount", + "qualifiedName": "ZohoBooksApi.DeleteBankAccount", + "fullyQualifiedName": "ZohoBooksApi.DeleteBankAccount@1.0.0", + "description": "Delete a bank account from your organization.\n\nUse this tool to permanently delete a bank account associated with your organization in Zoho Books. This should be called when you need to remove an account to prevent future transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to identify which organization's bank account is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bank_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBankAccount", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "bank_account_unique_id": { + "value": "ba_987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBankAccountRule", + "qualifiedName": "ZohoBooksApi.DeleteBankAccountRule", + "fullyQualifiedName": "ZohoBooksApi.DeleteBankAccountRule@1.0.0", + "description": "Deletes a bank account rule, removing its effect on transactions.\n\nUse this tool to delete a specific bank account rule, making it inapplicable to future transactions.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID representing the organization. Required for identifying the correct account.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_rule_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account rule to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bank_account_rule'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBankAccountRule", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bank_account_rule_id": { + "value": "rule_abc123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBankTransaction", + "qualifiedName": "ZohoBooksApi.DeleteBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.DeleteBankTransaction@1.0.0", + "description": "Delete a bank transaction using its ID.\n\nUse this tool to delete a specific bank transaction by providing the transaction ID. Ideal for managing and cleaning up bank account transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Specify the ID of the organization to target for transaction deletion.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier for the bank transaction to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBankTransaction", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "BTX-789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBillAttachment", + "qualifiedName": "ZohoBooksApi.DeleteBillAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeleteBillAttachment@1.0.0", + "description": "Delete the file attached to a specific bill.\n\nThis tool deletes the file attached to a specified bill in Zoho Books. It should be called when there's a need to remove an attachment associated with a bill.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books. This is required to specify which organization's bill attachment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific bill whose attachment is to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bill_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBillAttachment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bill_unique_identifier": { + "value": "BILL-2026-001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBillComment", + "qualifiedName": "ZohoBooksApi.DeleteBillComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteBillComment@1.0.0", + "description": "Delete a specific comment from a bill in Zoho Books.\n\nUse this tool to remove a comment from a specific bill in Zoho Books when the comment is no longer needed or was made in error.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization from which the bill comment will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the bill from which the comment will be deleted. This ID is necessary to specify the correct bill in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bill_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBillComment", + "parameters": { + "organization_id": { + "value": "678901234", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-10234", + "type": "string", + "required": true + }, + "comment_id": { + "value": "4455667788", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBillPayment", + "qualifiedName": "ZohoBooksApi.DeleteBillPayment", + "fullyQualifiedName": "ZohoBooksApi.DeleteBillPayment@1.0.0", + "description": "Delete a payment made to a bill.\n\nUse this tool to delete an existing payment associated with a bill when necessary. It helps in managing and correcting payment records in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which the bill payment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill payment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bill_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBillPayment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-1001", + "type": "string", + "required": true + }, + "bill_payment_identifier": { + "value": "PAY-2001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteContact", + "qualifiedName": "ZohoBooksApi.DeleteContact", + "fullyQualifiedName": "ZohoBooksApi.DeleteContact@1.0.0", + "description": "Delete an existing contact from the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization from which the contact will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteContact", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "c_9f2a4b7d3e", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteContactAddress", + "qualifiedName": "ZohoBooksApi.DeleteContactAddress", + "fullyQualifiedName": "ZohoBooksApi.DeleteContactAddress@1.0.0", + "description": "Deletes an additional address of a contact.\n\nThis tool deletes an additional address of a specific contact in Zoho Books when given the contact and address IDs. Use it to manage contact address details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique ID of the organization in Zoho Books required for address deletion.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the contact whose address you want to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "address_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the address to be deleted for the specified contact.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_contact_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteContactAddress", + "parameters": { + "organization_id": { + "value": "68012345678", + "type": "string", + "required": true + }, + "contact_unique_id": { + "value": "5f3a9b2c-1d4e-4f6a-9b8c-0a1b2c3d4e5f", + "type": "string", + "required": true + }, + "address_identifier": { + "value": "addr_9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteContactPerson", + "qualifiedName": "ZohoBooksApi.DeleteContactPerson", + "fullyQualifiedName": "ZohoBooksApi.DeleteContactPerson@1.0.0", + "description": "Delete an existing contact person from the records.\n\nUse this tool to remove a contact person using their unique ID from the records. It should be called when a user's contact details are no longer needed or need to be removed for any reason.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to identify which entity the contact person belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_person_id", + "type": "string", + "required": true, + "description": "Unique identifier for the contact person to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_contact_person'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteContactPerson", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "contact_person_id": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCreditNote", + "qualifiedName": "ZohoBooksApi.DeleteCreditNote", + "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNote@1.0.0", + "description": "Delete an existing credit note using its ID.\n\nUse this tool to delete a specific credit note by providing its unique ID. This action is irreversible.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose credit note you wish to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCreditNote", + "parameters": { + "organization_id": { + "value": "67234567890", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCreditNoteComment", + "qualifiedName": "ZohoBooksApi.DeleteCreditNoteComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNoteComment@1.0.0", + "description": "Delete a specific comment from a credit note.\n\nUse this tool to delete a comment from a credit note in Zoho Books. It requires the credit note ID and the comment ID to specify which comment to remove.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required for deleting a credit note comment.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to which the comment belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the comment to be deleted from a credit note.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_credit_note_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCreditNoteComment", + "parameters": { + "organization_id": { + "value": "600000000000001", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "350000000000123", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "1234567890123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCreditNoteInvoice", + "qualifiedName": "ZohoBooksApi.DeleteCreditNoteInvoice", + "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNoteInvoice@1.0.0", + "description": "Delete the credits applied to an invoice of a credit note.\n\nUse this tool to remove credits applied to an invoice associated with a credit note, ensuring the invoice record reflects modified credits.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to identify which organization's data is being manipulated.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the credit note to delete its associated invoice credits.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note invoice to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_of_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCreditNoteInvoice", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "credit_note_unique_id": { + "value": "201800000001234", + "type": "string", + "required": true + }, + "credit_note_invoice_id": { + "value": "301900000005678", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCreditNoteRefund", + "qualifiedName": "ZohoBooksApi.DeleteCreditNoteRefund", + "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNoteRefund@1.0.0", + "description": "Delete a specific credit note refund by ID.\n\nUse this tool to remove a credit note refund for a given credit note and refund ID when it's no longer needed or was made in error.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to delete a credit note refund.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be refunded.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note refund to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_credit_note_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCreditNoteRefund", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-00001234", + "type": "string", + "required": true + }, + "credit_note_refund_id": { + "value": "RN-00005678", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCurrencyAdjustment", + "qualifiedName": "ZohoBooksApi.DeleteCurrencyAdjustment", + "fullyQualifiedName": "ZohoBooksApi.DeleteCurrencyAdjustment@1.0.0", + "description": "Deletes the specified base currency adjustment.\n\nUse this tool to delete a specific base currency adjustment by providing its ID. Useful for managing and updating financial records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization whose currency adjustment you want to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "base_currency_adjustment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the base currency adjustment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_base_currency_adjustment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCurrencyAdjustment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "base_currency_adjustment_id": { + "value": "87654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomerDebitNote", + "qualifiedName": "ZohoBooksApi.DeleteCustomerDebitNote", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomerDebitNote@1.0.0", + "description": "Delete an existing customer debit note in Zoho Books.\n\nUse this tool to delete a customer debit note in Zoho Books. Note that debit notes with payments or credit notes applied cannot be deleted.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books. Required to specify which organization's data to access or modify.", + "enum": null, + "inferrable": true + }, + { + "name": "debit_note_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the debit note to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_customer_debit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomerDebitNote", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "debit_note_unique_id": { + "value": "DN-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomerPayment", + "qualifiedName": "ZohoBooksApi.DeleteCustomerPayment", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomerPayment@1.0.0", + "description": "Delete an existing payment for a customer.\n\nUse this tool when you need to delete a specific customer payment by its payment ID. It confirms the removal of the payment record.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose payment is being deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the payment to be deleted. Required to specify which payment record should be removed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomerPayment", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomerPaymentRefund", + "qualifiedName": "ZohoBooksApi.DeleteCustomerPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomerPaymentRefund@1.0.0", + "description": "Delete a refund for an existing customer payment.\n\nThis tool should be called when you need to delete a refund associated with an existing customer payment in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the refund deletion is requested.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the customer payment associated with the refund to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "refund_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the refund to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_customer_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomerPaymentRefund", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "customer_payment_identifier": { + "value": "cpay_987654321", + "type": "string", + "required": true + }, + "refund_identifier": { + "value": "refund_0012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomModule", + "qualifiedName": "ZohoBooksApi.DeleteCustomModule", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomModule@1.0.0", + "description": "Deletes a specified custom module in Zoho Books.\n\nThis tool is used to delete a custom module within Zoho Books. It should be called when you need to remove a specific custom module by its name.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": true, + "description": "The name of the custom module to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_custom_module'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomModule", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "module_name": { + "value": "EventRegistrations", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomModuleRecord", + "qualifiedName": "ZohoBooksApi.DeleteCustomModuleRecord", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomModuleRecord@1.0.0", + "description": "Delete an individual record from a custom module.\n\nUse this tool to delete specific records from a custom module in Zoho Books. Provide the module name and module ID to identify and remove the desired record.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's module record to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": true, + "description": "Name of the custom module containing the record to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_id", + "type": "integer", + "required": true, + "description": "The unique integer ID of the custom module to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_custom_module_record'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomModuleRecord", + "parameters": { + "organization_id": { + "value": "789012345", + "type": "string", + "required": true + }, + "module_name": { + "value": "CustomInvoices", + "type": "string", + "required": true + }, + "custom_module_id": { + "value": 12345, + "type": "integer", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteEmployeeRecord", + "qualifiedName": "ZohoBooksApi.DeleteEmployeeRecord", + "fullyQualifiedName": "ZohoBooksApi.DeleteEmployeeRecord@1.0.0", + "description": "Remove an employee from the records in Zoho Books.\n\nThis tool is used to delete an existing employee in Zoho Books. It should be called when there is a need to permanently remove an employee's record from the system.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to uniquely identify it for employee deletion.", + "enum": null, + "inferrable": true + }, + { + "name": "employee_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the employee to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_employee'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteEmployeeRecord", + "parameters": { + "organization_identifier": { + "value": "60012345678", + "type": "string", + "required": true + }, + "employee_identifier": { + "value": "EMP98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteEstimate", + "qualifiedName": "ZohoBooksApi.DeleteEstimate", + "fullyQualifiedName": "ZohoBooksApi.DeleteEstimate@1.0.0", + "description": "Delete an existing estimate in Zoho Books.\n\nUse this tool to remove an estimate by providing its unique estimate ID in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization where the estimate will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_id", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteEstimate", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "estimate_id": { + "value": "EST-2026-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteEstimateComment", + "qualifiedName": "ZohoBooksApi.DeleteEstimateComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteEstimateComment@1.0.0", + "description": "Delete an estimate comment.\n\nUse this tool to remove a comment from an estimate in Zoho Books. Ideal for cleaning up or managing comments related to estimates.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization where the estimate comment is located.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_unique_id", + "type": "string", + "required": true, + "description": "The unique identifier for the estimate, required to specify which estimate's comment to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_estimate_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteEstimateComment", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "estimate_unique_id": { + "value": "EST-2026-0001", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "CMT-abcdef123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteExchangeRate", + "qualifiedName": "ZohoBooksApi.DeleteExchangeRate", + "fullyQualifiedName": "ZohoBooksApi.DeleteExchangeRate@1.0.0", + "description": "Delete an exchange rate for a specific currency.\n\nUse this tool to delete an exchange rate using the specified currency and exchange rate IDs.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the exchange rate is being deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the currency whose exchange rate is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the exchange rate to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_exchange_rate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteExchangeRate", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "currency_identifier": { + "value": "USD", + "type": "string", + "required": true + }, + "exchange_rate_identifier": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteExistingBill", + "qualifiedName": "ZohoBooksApi.DeleteExistingBill", + "fullyQualifiedName": "ZohoBooksApi.DeleteExistingBill@1.0.0", + "description": "Deletes an existing bill if no payments are applied.\n\nCall this tool to delete a bill in Zoho Books if the bill has no payments applied. It confirms successful deletion of the bill.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books needed to delete the bill.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the bill you wish to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteExistingBill", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteExpenseEntry", + "qualifiedName": "ZohoBooksApi.DeleteExpenseEntry", + "fullyQualifiedName": "ZohoBooksApi.DeleteExpenseEntry@1.0.0", + "description": "Delete an existing expense entry in Zoho Books.\n\nUse this tool to delete a specific expense entry from Zoho Books when you need to remove an incorrect or unnecessary record.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the expense to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteExpenseEntry", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "expense_identifier": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteExpenseReceipt", + "qualifiedName": "ZohoBooksApi.DeleteExpenseReceipt", + "fullyQualifiedName": "ZohoBooksApi.DeleteExpenseReceipt@1.0.0", + "description": "Deletes the receipt attached to an expense.\n\nUse this tool to remove the receipt associated with a specific expense in Zoho Books, identified by the expense ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which the expense receipt is to be deleted. Ensure it's accurate to target the correct entity.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_id", + "type": "string", + "required": true, + "description": "Unique identifier for the expense whose receipt is to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_expense_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteExpenseReceipt", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "expense_id": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteFixedAsset", + "qualifiedName": "ZohoBooksApi.DeleteFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.DeleteFixedAsset@1.0.0", + "description": "Delete a specified fixed asset.\n\nUse this tool to delete a fixed asset by providing its ID. This action is irreversible, so ensure you have the correct ID before proceeding.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization from which the fixed asset will be deleted. Ensure this ID corresponds to the correct organization.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the fixed asset to be deleted. This ID is required to specify which asset to remove.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteFixedAsset", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteFixedAssetType", + "qualifiedName": "ZohoBooksApi.DeleteFixedAssetType", + "fullyQualifiedName": "ZohoBooksApi.DeleteFixedAssetType@1.0.0", + "description": "Deletes a specified fixed asset type from the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_type_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset type to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_fixed_asset_type'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteFixedAssetType", + "parameters": { + "organization_id": { + "value": "org_1234567890", + "type": "string", + "required": true + }, + "fixed_asset_type_identifier": { + "value": "fixed_asset_type_001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceAttachment", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceAttachment@1.0.0", + "description": "Delete the file attached to an invoice.\n\nThis tool should be called to delete an attachment from a specified invoice in Zoho Books. Useful for managing or cleaning up invoice files.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice attachment will be deleted. This is required to authenticate and identify the specific organization on Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to delete the attachment from. Must match the invoice's ID in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceAttachment", + "parameters": { + "organization_id": { + "value": "600000012345678", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "174232000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceComment", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceComment@1.0.0", + "description": "Delete a specific comment from an invoice.\n\nUse this tool to remove a comment from an invoice in Zoho Books. It is useful when a comment is no longer relevant or was added by mistake.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to delete the comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the comment to be deleted from the invoice.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceComment", + "parameters": { + "organization_id": { + "value": "67890123456", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "cmt_5f4d3a2b1c", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceDocument", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceDocument", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceDocument@1.0.0", + "description": "Delete a document attached to an invoice.\n\nPermanently removes a document from an invoice in Zoho Books. This tool should be called when there is a need to delete a specific non-system-generated document associated with an invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This is required to specify which organization's invoice document is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_id", + "type": "string", + "required": true, + "description": "The unique identifier of the invoice from which the document will be deleted. This ID is required and must be a valid invoice in the system.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_document_id", + "type": "string", + "required": true, + "description": "The unique ID of the document to be deleted from the invoice.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_document'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceDocument", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "invoice_document_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceExpenseReceipt", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceExpenseReceipt", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceExpenseReceipt@1.0.0", + "description": "Delete attached expense receipts from an invoice.\n\nUse this tool to delete expense receipts that are attached to an invoice, specifically those raised from an expense.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization from which the expense receipt will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the expense to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_expense_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceExpenseReceipt", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "expense_identifier": { + "value": "EXPENSE-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceInZohoBooks", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceInZohoBooks@1.0.0", + "description": "Delete an existing invoice in Zoho Books.\n\nUse this tool to delete an existing invoice in Zoho Books. Note that invoices with payments or credit notes applied cannot be deleted.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice is to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceInZohoBooks", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoicePayment", + "qualifiedName": "ZohoBooksApi.DeleteInvoicePayment", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoicePayment@1.0.0", + "description": "Delete a payment made to an invoice in Zoho Books.\n\nUse this tool to remove a payment record from an invoice in Zoho Books when it was entered incorrectly or is no longer needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books to which the payment belongs. This is required to identify the specific organization for deleting the invoice payment.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to delete the payment from.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice payment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoicePayment", + "parameters": { + "organization_id": { + "value": "60000000001", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": true + }, + "invoice_payment_identifier": { + "value": "PAY-2002", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteItemInZohoBooks", + "qualifiedName": "ZohoBooksApi.DeleteItemInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.DeleteItemInZohoBooks@1.0.0", + "description": "Delete an item from Zoho Books.\n\nThis tool deletes an item from Zoho Books. It should be called to remove items that are no longer needed, provided they are not part of any transaction.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books from which you wish to delete the item.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the item to be deleted from Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteItemInZohoBooks", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "item_identifier": { + "value": "480000012345678901", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteJournalComment", + "qualifiedName": "ZohoBooksApi.DeleteJournalComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteJournalComment@1.0.0", + "description": "Delete a journal comment in Zoho Books.\n\nUse this tool to delete a specific comment from a journal entry in Zoho Books. It should be called when you need to remove unwanted or incorrect comments from a journal.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's journal comment should be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the journal for which the comment will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_journal_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteJournalComment", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "journal_unique_id": { + "value": "123e4567-e89b-12d3-a456-426614174000", + "type": "string", + "required": true + }, + "comment_id": { + "value": "cmt-7890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteJournalEntry", + "qualifiedName": "ZohoBooksApi.DeleteJournalEntry", + "fullyQualifiedName": "ZohoBooksApi.DeleteJournalEntry@1.0.0", + "description": "Delete a specific journal entry by ID.\n\nThis tool deletes a journal entry in Zoho Books when provided with the specific journal ID. Use this to remove incorrect or unnecessary journal records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization associated with the journal to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_entry_id", + "type": "string", + "required": true, + "description": "The unique identifier for the journal entry to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_journal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteJournalEntry", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "journal_entry_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteLastImportedBankStatement", + "qualifiedName": "ZohoBooksApi.DeleteLastImportedBankStatement", + "fullyQualifiedName": "ZohoBooksApi.DeleteLastImportedBankStatement@1.0.0", + "description": "Delete the last imported bank statement.\n\nUse this tool to delete the most recently imported bank statement from the specified bank account. Useful for correcting errors or removing unnecessary data.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This is required to specify which organization's bank statement needs to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the bank account from which the statement will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_statement_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank statement to be deleted. Required for identifying which statement to remove.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_last_imported_bank_statement'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteLastImportedBankStatement", + "parameters": { + "organization_id": { + "value": "682453000000123456", + "type": "string", + "required": true + }, + "bank_account_unique_identifier": { + "value": "682453000000654321", + "type": "string", + "required": true + }, + "bank_statement_id": { + "value": "682453000000987654", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteLocation", + "qualifiedName": "ZohoBooksApi.DeleteLocation", + "fullyQualifiedName": "ZohoBooksApi.DeleteLocation@1.0.0", + "description": "Delete a location from the system.\n\nUse this tool to remove a location by specifying its unique identifier in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the location belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "location_id", + "type": "string", + "required": true, + "description": "The unique identifier of the location to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_location'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteLocation", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "location_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteLoggedTimeEntry", + "qualifiedName": "ZohoBooksApi.DeleteLoggedTimeEntry", + "fullyQualifiedName": "ZohoBooksApi.DeleteLoggedTimeEntry@1.0.0", + "description": "Delete a specific logged time entry.\n\nUse this tool to delete a logged time entry from a project by specifying the time entry ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization from which the time entry will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "time_entry_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the logged time entry to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_time_entry'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteLoggedTimeEntry", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "time_entry_identifier": { + "value": "TE-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteMultipleVendorPayments", + "qualifiedName": "ZohoBooksApi.DeleteMultipleVendorPayments", + "fullyQualifiedName": "ZohoBooksApi.DeleteMultipleVendorPayments@1.0.0", + "description": "Delete multiple vendor payments in one action.\n\nUse this tool to delete multiple vendor payments at once, streamlining payment management and cleanup tasks.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization from which the vendor payments are to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_ids", + "type": "string", + "required": true, + "description": "Comma-separated list of vendor payment IDs to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "bulk_delete", + "type": "boolean", + "required": true, + "description": "Set to true to perform bulk deletion of vendor payments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_delete_vendor_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteMultipleVendorPayments", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "vendor_payment_ids": { + "value": "VPAY12345,VPAY67890,VPAY24680", + "type": "string", + "required": true + }, + "bulk_delete": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteOpeningBalance", + "qualifiedName": "ZohoBooksApi.DeleteOpeningBalance", + "fullyQualifiedName": "ZohoBooksApi.DeleteOpeningBalance@1.0.0", + "description": "Delete the entered opening balance in Zoho Books.\n\nUse this tool to remove the existing opening balance from Zoho Books settings when adjustments or corrections are needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose opening balance is to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_opening_balance'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteOpeningBalance", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteProject", + "qualifiedName": "ZohoBooksApi.DeleteProject", + "fullyQualifiedName": "ZohoBooksApi.DeleteProject@1.0.0", + "description": "Deletes an existing project in Zoho Books.\n\nCall this tool to delete an existing project in Zoho Books using the project ID. It confirms the deletion of the specified project.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to identify the organization from which the project will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "project_id", + "type": "string", + "required": true, + "description": "Unique identifier of the project to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteProject", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "project_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteProjectComment", + "qualifiedName": "ZohoBooksApi.DeleteProjectComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteProjectComment@1.0.0", + "description": "Delete a specific comment from a project.\n\nUse this tool to delete a comment from a specified project. Useful when you need to remove unwanted or outdated comments from project discussions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the comment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the project to delete the comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_project_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteProjectComment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "proj_45678", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "comment_7890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteProjectTask", + "qualifiedName": "ZohoBooksApi.DeleteProjectTask", + "fullyQualifiedName": "ZohoBooksApi.DeleteProjectTask@1.0.0", + "description": "Remove a task from a specific project in Zoho Books.\n\nCall this tool to delete a specified task from a project using Zoho Books API. Use it when you need to manage project tasks and remove any that are no longer relevant.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the task belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the project from which a task will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "task_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the task to be deleted in the project.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_task'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteProjectTask", + "parameters": { + "organization_identifier": { + "value": "1000000001", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "proj_987654321", + "type": "string", + "required": true + }, + "task_identifier": { + "value": "task_abc123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeletePurchaseOrder", + "qualifiedName": "ZohoBooksApi.DeletePurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.DeletePurchaseOrder@1.0.0", + "description": "Delete an existing purchase order in Zoho Books.\n\nUse this tool to remove a purchase order by providing its ID. The endpoint confirms the deletion once the operation is successful.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization within Zoho Books. Required to specify which organization's purchase order is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the purchase order to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeletePurchaseOrder", + "parameters": { + "organization_id": { + "value": "6000000000001", + "type": "string", + "required": true + }, + "purchase_order_identifier": { + "value": "166915000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeletePurchaseOrderAttachment", + "qualifiedName": "ZohoBooksApi.DeletePurchaseOrderAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeletePurchaseOrderAttachment@1.0.0", + "description": "Deletes the attachment from a purchase order.\n\nThis tool is used to delete the file attached to a specified purchase order in Zoho Books, identified by the purchase order ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. This is required to specify which organization's records to access or modify.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to delete the attachment from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_purchase_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeletePurchaseOrderAttachment", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "20000056789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeletePurchaseOrderComment", + "qualifiedName": "ZohoBooksApi.DeletePurchaseOrderComment", + "fullyQualifiedName": "ZohoBooksApi.DeletePurchaseOrderComment@1.0.0", + "description": "Delete a comment from a purchase order.\n\nUse this tool to remove a specific comment associated with a purchase order by providing the purchase order ID and the comment ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Provide this to specify which organization's purchase order comment you wish to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to delete the comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted. Required to specify which comment to remove from a purchase order.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_purchase_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeletePurchaseOrderComment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-987654321", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "cmt_abc123def", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRecurringBill", + "qualifiedName": "ZohoBooksApi.DeleteRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.DeleteRecurringBill@1.0.0", + "description": "Delete an existing recurring bill in Zoho Books.\n\nUse this tool to delete a recurring bill identified by its ID in Zoho Books. This is useful when managing financial records and removing bills that are no longer needed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books to delete a recurring bill from.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the recurring bill to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRecurringBill", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "recurring_bill_identifier": { + "value": "RB-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRecurringExpense", + "qualifiedName": "ZohoBooksApi.DeleteRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.DeleteRecurringExpense@1.0.0", + "description": "Delete an existing recurring expense in Zoho Books.\n\nUse this tool to delete a recurring expense from Zoho Books when it's no longer needed or has been replaced. The tool confirms the successful removal of the specified recurring expense.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": true, + "description": "The unique identifier for the recurring expense to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRecurringExpense", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "recurring_expense_id": { + "value": "RE-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRecurringInvoice", + "qualifiedName": "ZohoBooksApi.DeleteRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.DeleteRecurringInvoice@1.0.0", + "description": "Delete an existing recurring invoice.\n\nCall this tool to remove a recurring invoice from the system. Ensure you have the correct invoice ID to successfully delete the desired invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the recurring invoice belongs. Required for identifying the correct organization.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring invoice to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRecurringInvoice", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "recurring_invoice_id": { + "value": "recurring_9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRetainerInvoice", + "qualifiedName": "ZohoBooksApi.DeleteRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.DeleteRetainerInvoice@1.0.0", + "description": "Delete an existing retainer invoice.\n\nUse this tool to delete a retainer invoice. Note that invoices with applied payments or credit notes cannot be deleted.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose retainer invoice you want to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to delete. Required for specifying the invoice to be removed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRetainerInvoice", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "retainer_invoice_identifier": { + "value": "RINV-2025-00123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRetainerInvoiceAttachment", + "qualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceAttachment@1.0.0", + "description": "Delete a file attached to a retainer invoice.\n\nUse this tool to delete a specific file attached to a retainer invoice. Call it when you need to remove an attachment from an invoice in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books whose invoice attachment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to specify which invoice's attachment should be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "document_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice document to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_retainer_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRetainerInvoiceAttachment", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "document_id": { + "value": "a1b2c3d4-e5f6-7890-abcd-1234567890ab", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRetainerInvoiceComment", + "qualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceComment@1.0.0", + "description": "Remove a specific comment from a retainer invoice.\n\nUse this tool to delete a comment from a retainer invoice in Zoho Books by providing the retainer invoice ID and the comment ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization within Zoho Books for which the comment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to find the specific invoice for comment deletion.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted from the retainer invoice.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_retainer_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRetainerInvoiceComment", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "987654321", + "type": "string", + "required": true + }, + "comment_identifier": { + "value": "555666777", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteSalesOrder", + "qualifiedName": "ZohoBooksApi.DeleteSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.DeleteSalesOrder@1.0.0", + "description": "Delete an existing sales order.\n\nUse this tool to delete an existing sales order by its ID. It cannot delete invoiced sales orders.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the sales order will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the sales order to be deleted. Ensure it is not invoiced.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteSalesOrder", + "parameters": { + "organization_id": { + "value": "876543210", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteSalesOrderAttachment", + "qualifiedName": "ZohoBooksApi.DeleteSalesOrderAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeleteSalesOrderAttachment@1.0.0", + "description": "Delete an attached file from a sales order in Zoho Books.\n\nCall this tool to remove an attached file from a specified sales order in Zoho Books. Useful for managing and updating records by deleting unnecessary or outdated attachments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose sales order attachment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the sales order from which the attachment will be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_sales_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteSalesOrderAttachment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteSalesOrderComment", + "qualifiedName": "ZohoBooksApi.DeleteSalesOrderComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteSalesOrderComment@1.0.0", + "description": "Delete a comment from a sales order in Zoho Books.\n\nUse this tool to remove a comment from a specific sales order in Zoho Books by providing the sales order ID and the comment ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization. This ID is required to specify which organization's sales order comment needs to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to delete the comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_sales_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteSalesOrderComment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO1234567890", + "type": "string", + "required": true + }, + "comment_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteSalesReceipt", + "qualifiedName": "ZohoBooksApi.DeleteSalesReceipt", + "fullyQualifiedName": "ZohoBooksApi.DeleteSalesReceipt@1.0.0", + "description": "Delete an existing sales receipt in Zoho Books.\n\nThis tool deletes a specified sales receipt from Zoho Books. It should be used when you need to permanently remove a sales receipt by its ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_receipt_id", + "type": "string", + "required": true, + "description": "The unique identifier for the sales receipt to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteSalesReceipt", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "sales_receipt_id": { + "value": "SR-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTax", + "qualifiedName": "ZohoBooksApi.DeleteTax", + "fullyQualifiedName": "ZohoBooksApi.DeleteTax@1.0.0", + "description": "Delete a simple or compound tax in Zoho Books.\n\nUse this tool to remove a specific tax, whether simple or compound, from the Zoho Books system. This is useful when managing taxes and ensuring only relevant ones are active.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization within Zoho Books. This is required to specify which organization's tax entry to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the tax to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_tax'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTax", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "tax_identifier": { + "value": "TAX_9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTaxAuthority", + "qualifiedName": "ZohoBooksApi.DeleteTaxAuthority", + "fullyQualifiedName": "ZohoBooksApi.DeleteTaxAuthority@1.0.0", + "description": "Delete a specific tax authority.\n\nUse this tool to delete a tax authority when you need its removal confirmed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to identify which one the tax authority belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_authority_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the tax authority to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_tax_authority'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTaxAuthority", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "tax_authority_identifier": { + "value": "TA-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTaxExemption", + "qualifiedName": "ZohoBooksApi.DeleteTaxExemption", + "fullyQualifiedName": "ZohoBooksApi.DeleteTaxExemption@1.0.0", + "description": "Delete a specific tax exemption from Zoho Books.\n\nUse this tool to delete a tax exemption in Zoho Books when you need to remove a specific exemption entry.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_exemption_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the tax exemption to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_tax_exemption'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTaxExemption", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "tax_exemption_identifier": { + "value": "TXE-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTaxGroup", + "qualifiedName": "ZohoBooksApi.DeleteTaxGroup", + "fullyQualifiedName": "ZohoBooksApi.DeleteTaxGroup@1.0.0", + "description": "Delete a tax group if not associated with transactions.\n\nUse this tool to delete a tax group from Zoho Books. Note that tax groups associated with transactions cannot be deleted.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_group_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the tax group to be deleted. Ensure it's not associated with active transactions to proceed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_tax_group'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTaxGroup", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "tax_group_identifier": { + "value": "TG_1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTimeEntries", + "qualifiedName": "ZohoBooksApi.DeleteTimeEntries", + "fullyQualifiedName": "ZohoBooksApi.DeleteTimeEntries@1.0.0", + "description": "Delete time tracking entries from projects.\n\nUse this tool to delete time entries from projects in Zoho Books. It should be called when you need to remove specific time tracking records.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to identify which entity's time entries will be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_time_entries'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTimeEntries", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTransaction", + "qualifiedName": "ZohoBooksApi.DeleteTransaction", + "fullyQualifiedName": "ZohoBooksApi.DeleteTransaction@1.0.0", + "description": "Delete a specified accounting transaction.\n\nThis tool is used to delete a specified transaction from the chart of accounts in Zoho Books. Call this tool when you need to remove a transaction permanently.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which the transaction will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the transaction to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_chart_of_account_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTransaction", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "transaction_identifier": { + "value": "TRX-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorCredit", + "qualifiedName": "ZohoBooksApi.DeleteVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorCredit@1.0.0", + "description": "Delete a vendor credit by its ID.\n\nUse this tool to delete a specific vendor credit using its unique ID. This is typically required when a vendor credit is no longer valid or was added by mistake.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's vendor credit to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorCredit", + "parameters": { + "organization_id": { + "value": "679845123", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2026-00042", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorCreditComment", + "qualifiedName": "ZohoBooksApi.DeleteVendorCreditComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorCreditComment@1.0.0", + "description": "Delete a vendor credit comment in Zoho Books.\n\nUse this tool to delete a specific comment from a vendor credit in Zoho Books. This is useful when you need to manage or clean up vendor credit records by removing unnecessary or incorrect comments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit to specify which comment to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_credit_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorCreditComment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "vendor_credit_id": { + "value": "100000000012345", + "type": "string", + "required": true + }, + "comment_id": { + "value": "200000000045678", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorCreditRefund", + "qualifiedName": "ZohoBooksApi.DeleteVendorCreditRefund", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorCreditRefund@1.0.0", + "description": "Delete a vendor credit refund in Zoho Books.\n\nUse this tool to delete a specific vendor credit refund in Zoho Books when you have the vendor credit ID and refund ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization to which the vendor credit refund belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit, required to delete the refund.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific vendor credit refund you wish to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_credit_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorCreditRefund", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-98765", + "type": "string", + "required": true + }, + "vendor_credit_refund_id": { + "value": "REFUND-54321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorPayment", + "qualifiedName": "ZohoBooksApi.DeleteVendorPayment", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorPayment@1.0.0", + "description": "Delete an existing vendor payment in Zoho Books.\n\nUse this tool to delete a specific vendor payment in Zoho Books when you have the payment ID and need to erase it from the records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the vendor payment is to be deleted. This is required to identify the correct organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor payment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorPayment", + "parameters": { + "organization_id": { + "value": "276542000000123456", + "type": "string", + "required": true + }, + "vendor_payment_id": { + "value": "276542000000654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorPaymentRefund", + "qualifiedName": "ZohoBooksApi.DeleteVendorPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorPaymentRefund@1.0.0", + "description": "Delete a refund from an existing vendor payment.\n\nUse this tool to remove a specific refund associated with a vendor payment. It's useful when a refund needs to be retracted or corrected.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization to which the vendor payment refund belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the payment to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor payment refund to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorPaymentRefund", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "PAY-2025-0001", + "type": "string", + "required": true + }, + "vendor_payment_refund_id": { + "value": "REF-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DisableContactPaymentReminder", + "qualifiedName": "ZohoBooksApi.DisableContactPaymentReminder", + "fullyQualifiedName": "ZohoBooksApi.DisableContactPaymentReminder@1.0.0", + "description": "Disable automated payment reminders for a contact.\n\nThis tool is used to disable automated payment reminders for a specific contact in Zoho Books. It should be called when you want to stop the system from sending payment reminders to a particular contact.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which payment reminders will be disabled.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact to disable payment reminders for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'disable_contact_payment_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DisableContactPaymentReminder", + "parameters": { + "organization_id": { + "value": "600123456789", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "c_9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DisableInvoicePaymentReminder", + "qualifiedName": "ZohoBooksApi.DisableInvoicePaymentReminder", + "fullyQualifiedName": "ZohoBooksApi.DisableInvoicePaymentReminder@1.0.0", + "description": "Disable automated payment reminders for an invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's invoice reminders are being disabled.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to disable payment reminders.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'disable_invoice_payment_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DisableInvoicePaymentReminder", + "parameters": { + "organization_id": { + "value": "1000123456", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-00045", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailContactStatement", + "qualifiedName": "ZohoBooksApi.EmailContactStatement", + "fullyQualifiedName": "ZohoBooksApi.EmailContactStatement@1.0.0", + "description": "Sends an email statement to a specified contact.\n\n This tool triggers an email statement to be sent to a specific contact using Zoho Books. If no JSON input is provided, the email will use default content. Use this tool when you need to send financial statements to clients or contacts.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to send the email statement to a specified contact. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the contact to send the statement to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "statement_start_date", + "type": "string", + "required": false, + "description": "The starting date for the statement in the format [yyyy-mm-dd]. If omitted, the current month will be used. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "statement_end_date", + "type": "string", + "required": false, + "description": "End date for the statement in the format [yyyy-mm-dd]. If not provided, the current month's statement will be sent. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_files", + "type": "string", + "required": false, + "description": "Files to be attached with the statement email, in multipart/form-data format. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_contact_statement'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailContactStatement", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "contact_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "statement_start_date": { + "value": "2026-01-01", + "type": "string", + "required": false + }, + "statement_end_date": { + "value": "2026-01-31", + "type": "string", + "required": false + }, + "attachment_files": { + "value": "statement_Jan2026.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"January Statement\",\"message\":\"Please find attached your statement for January 2026. Contact us if you have any questions.\",\"send_mail\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailCreditNote", + "qualifiedName": "ZohoBooksApi.EmailCreditNote", + "fullyQualifiedName": "ZohoBooksApi.EmailCreditNote@1.0.0", + "description": "Send a credit note via email.\n\n Use this tool to email a credit note to the intended recipient. It's useful for sending invoice adjustments to clients.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "ID of the organization for which the credit note is being emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_id_for_credit_note", + "type": "string", + "required": false, + "description": "Customer ID for whom the credit note is raised. Used to identify the recipient of the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "The file paths or URLs of files to attach to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailCreditNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "CN-2026-001", + "type": "string", + "required": false + }, + "customer_id_for_credit_note": { + "value": "CUST-54321", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "https://example.com/attachment.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"to_mail_ids\":[\"client@example.com\"],\"subject\":\"Credit Note CN-2026-001\",\"body\":\"Please find the attached credit note. Reach out if you have any questions.\",\"send_from_org_email\":\"billing@mycompany.com\",\"send_pdf\":true,\"attachments\":[\"https://example.com/attachment.pdf\"]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailRetainerInvoiceToCustomer", + "qualifiedName": "ZohoBooksApi.EmailRetainerInvoiceToCustomer", + "fullyQualifiedName": "ZohoBooksApi.EmailRetainerInvoiceToCustomer@1.0.0", + "description": "Send a retainer invoice to a customer via email.\n\n This tool emails a retainer invoice to the specified customer. If no custom content is provided, the email will use the default content.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "The unique identifier of the retainer invoice to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "List of file paths or URLs for files to attach to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_customer_statement", + "type": "boolean", + "required": false, + "description": "Set to true to send the customer statement PDF with the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attach_invoice_to_email", + "type": "boolean", + "required": false, + "description": "Attach the retainer invoice to the email if true. Accepts a boolean value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailRetainerInvoiceToCustomer", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "RI-1001", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "[\"/files/terms.pdf\",\"https://cdn.example.com/attachment.pdf\"]", + "type": "string", + "required": false + }, + "send_customer_statement": { + "value": true, + "type": "boolean", + "required": false + }, + "attach_invoice_to_email": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"to_mail_ids\":[\"client@example.com\"],\"subject\":\"Retainer Invoice RI-1001\",\"body\":\"Dear Customer,\\n\\nPlease find your retainer invoice attached. If you have any questions, reply to this email.\\n\\nRegards,\\nYour Company\",\"cc_mail_ids\":[\"accounting@example.com\"],\"bcc_mail_ids\":[],\"send_from_org_email_id\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailSalesOrderToCustomer", + "qualifiedName": "ZohoBooksApi.EmailSalesOrderToCustomer", + "fullyQualifiedName": "ZohoBooksApi.EmailSalesOrderToCustomer@1.0.0", + "description": "Email a sales order to a customer.\n\n Send an email containing the sales order to the customer, with optional custom content. If no content is provided, the default email content will be used.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the sales order is being emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Provide the unique identifier of the sales order to be emailed to the customer. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_attachments", + "type": "string", + "required": false, + "description": "A list of file paths or URLs for attachments to include with the sales order email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "file_name", + "type": "string", + "required": false, + "description": "Specify the name of the file to be attached to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "include_sales_order_attachment", + "type": "boolean", + "required": false, + "description": "Specify true to include the sales order attachment in the email, or false to exclude it. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailSalesOrderToCustomer", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "SO1234567", + "type": "string", + "required": false + }, + "sales_order_identifier": { + "value": "SO-1001", + "type": "string", + "required": false + }, + "sales_order_attachments": { + "value": "[\"https://example.com/files/terms.pdf\",\"/local/path/specs.pdf\"]", + "type": "string", + "required": false + }, + "file_name": { + "value": "SalesOrder_SO-1001.pdf", + "type": "string", + "required": false + }, + "include_sales_order_attachment": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"Sales Order SO-1001 from Acme Corp\",\"message\":\"Hello John Doe,\\n\\nPlease find attached your sales order. If you have any questions, reply to this email.\\n\\nRegards,\\nAcme Corp\",\"to_mail_ids\":[\"john.doe@example.com\"],\"cc_mail_ids\":[\"accounts@example.com\"],\"notify_customer\":true,\"send_from_org_email_id\":\"1023456789012345678\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailSalesReceiptToCustomer", + "qualifiedName": "ZohoBooksApi.EmailSalesReceiptToCustomer", + "fullyQualifiedName": "ZohoBooksApi.EmailSalesReceiptToCustomer@1.0.0", + "description": "Email a sales receipt to the customer.\n\n Use this tool to send a sales receipt via email to a specific customer. It should be called when you need to deliver the sales receipt directly to the customer.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "sales_receipt_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the sales receipt to be emailed to the customer. It must be a string. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "attach_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to send the sales receipt PDF with the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailSalesReceiptToCustomer", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "sales_receipt_identifier": { + "value": "SR-2026-0001", + "type": "string", + "required": false + }, + "attach_pdf": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"to_mail_ids\":[\"jane.doe@example.com\"],\"subject\":\"Your Sales Receipt\",\"content\":\"Hello Jane Doe,\\nThank you for your purchase. Please find your sales receipt attached.\",\"cc_mail_ids\":[],\"bcc_mail_ids\":[]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EnableContactPortalAccess", + "qualifiedName": "ZohoBooksApi.EnableContactPortalAccess", + "fullyQualifiedName": "ZohoBooksApi.EnableContactPortalAccess@1.0.0", + "description": "Enable portal access for a specified contact in Zoho Books.\n\n Use this tool to enable portal access for a contact in Zoho Books, allowing them to interact with their account through the portal.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization within Zoho Books, required to enable portal access for a contact. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_id", + "type": "string", + "required": false, + "description": "Unique identifier for the specific contact whose portal access is to be enabled. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'enable_contact_portal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EnableContactPortalAccess", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "contact_unique_id": { + "value": "ct_9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"portal_enabled\": true, \"send_portal_invite\": true, \"portal_user\": {\"email\": \"client@example.com\", \"first_name\": \"John\", \"last_name\": \"Doe\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EnableOrganizationLocations", + "qualifiedName": "ZohoBooksApi.EnableOrganizationLocations", + "fullyQualifiedName": "ZohoBooksApi.EnableOrganizationLocations@1.0.0", + "description": "Enable locations for an organization in Zoho Books.\n\nUse this tool to enable location settings for an organization in Zoho Books, allowing tracking and management of different locations within the company's account.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which to enable location tracking.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'enable_locations'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EnableOrganizationLocations", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EnablePaymentReminder", + "qualifiedName": "ZohoBooksApi.EnablePaymentReminder", + "fullyQualifiedName": "ZohoBooksApi.EnablePaymentReminder@1.0.0", + "description": "Enable automated payment reminders for a contact.\n\nThis tool is used to enable automated payment reminders for a specific contact, improving timely payment handling.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the unique ID of the organization for which to enable payment reminders.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact for whom the payment reminder is enabled.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'enable_contact_payment_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EnablePaymentReminder", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "contact_7a9f5b3c", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExcludeBankTransaction", + "qualifiedName": "ZohoBooksApi.ExcludeBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.ExcludeBankTransaction@1.0.0", + "description": "Exclude a transaction from a bank or credit card account.\n\nUse this tool to exclude a specific transaction from your bank or credit card account records. Ideal for removing unwanted or incorrect entries.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to which the transaction belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank transaction to be excluded.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id_for_transaction_exclusion", + "type": "string", + "required": false, + "description": "The ID of the account from which a transaction will be excluded. This is a mandatory field.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'exclude_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExcludeBankTransaction", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "transaction_id": { + "value": "40234500000012345678", + "type": "string", + "required": true + }, + "account_id_for_transaction_exclusion": { + "value": "10123456789", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportAndPrintEstimates", + "qualifiedName": "ZohoBooksApi.ExportAndPrintEstimates", + "fullyQualifiedName": "ZohoBooksApi.ExportAndPrintEstimates@1.0.0", + "description": "Export and print estimates as a PDF file.\n\nUse this tool to export up to 25 estimates as a PDF file and prepare them for printing.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose estimates are to be exported and printed.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_ids_to_export", + "type": "string", + "required": true, + "description": "Comma-separated list of estimate IDs to export and print. Maximum of 25 IDs allowed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_print_estimates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportAndPrintEstimates", + "parameters": { + "organization_id": { + "value": "813159000000123456", + "type": "string", + "required": true + }, + "estimate_ids_to_export": { + "value": "EST-1001,EST-1002,EST-1003,EST-1004,EST-1005", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportAndPrintInvoices", + "qualifiedName": "ZohoBooksApi.ExportAndPrintInvoices", + "fullyQualifiedName": "ZohoBooksApi.ExportAndPrintInvoices@1.0.0", + "description": "Export and print multiple invoices as PDFs.\n\nUse this tool to export and print up to 25 invoices at a time in PDF format.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's invoices to print.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifiers", + "type": "string", + "required": true, + "description": "A comma-separated string of up to 25 invoice IDs to export and print as PDFs.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_print_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportAndPrintInvoices", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "invoice_identifiers": { + "value": "INV-1001,INV-1002,INV-1003", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportEstimatesAsPdf", + "qualifiedName": "ZohoBooksApi.ExportEstimatesAsPdf", + "fullyQualifiedName": "ZohoBooksApi.ExportEstimatesAsPdf@1.0.0", + "description": "Export up to 25 estimates as a single PDF document.\n\nUse this tool to export multiple estimates (up to 25) in one consolidated PDF document. Ideal for compiling estimates quickly into a single file for review or sharing.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required to specify which organization's estimates are to be exported.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_ids", + "type": "string", + "required": true, + "description": "Comma-separated list of estimate IDs to include in the PDF. Maximum of 25 IDs allowed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_export_estimates_as_pdf'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportEstimatesAsPdf", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "estimate_ids": { + "value": "1001,1002,1003,1004,1005", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportInvoicesAsPdf", + "qualifiedName": "ZohoBooksApi.ExportInvoicesAsPdf", + "fullyQualifiedName": "ZohoBooksApi.ExportInvoicesAsPdf@1.0.0", + "description": "Export up to 25 invoices as a single PDF file.\n\nUse this tool to export multiple invoices into a single PDF document. Ideal for consolidating up to 25 invoices in one file.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which invoices are being exported.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_ids", + "type": "string", + "required": true, + "description": "Comma-separated list of invoice IDs to export as a PDF. Maximum of 25 IDs allowed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_export_invoices_as_pdf'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportInvoicesAsPdf", + "parameters": { + "organization_identifier": { + "value": "60012345678", + "type": "string", + "required": true + }, + "invoice_ids": { + "value": "INV-1001,INV-1002,INV-1003,INV-1004", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportPrintSalesOrders", + "qualifiedName": "ZohoBooksApi.ExportPrintSalesOrders", + "fullyQualifiedName": "ZohoBooksApi.ExportPrintSalesOrders@1.0.0", + "description": "Export and print sales orders as PDFs.\n\nExports up to 25 sales orders as PDF files for printing. This tool is used to generate printable documents of sales orders in batch format.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose sales orders you want to export and print as PDFs.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_print_sales_orders'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportPrintSalesOrders", + "parameters": { + "organization_id": { + "value": "org_67234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportSalesOrdersPdf", + "qualifiedName": "ZohoBooksApi.ExportSalesOrdersPdf", + "fullyQualifiedName": "ZohoBooksApi.ExportSalesOrdersPdf@1.0.0", + "description": "Export sales orders as a single PDF document.\n\nUse this tool to export up to 25 sales orders into a single PDF file from Zoho Books. It is useful for generating and retrieving sales documentation in bulk for reporting or archiving.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose sales orders will be exported as a PDF. This ID is required to access and retrieve the sales order data from Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_export_sales_orders_as_pdf'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportSalesOrdersPdf", + "parameters": { + "organization_id": { + "value": "3578230000001234567", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchAssetHistory", + "qualifiedName": "ZohoBooksApi.FetchAssetHistory", + "fullyQualifiedName": "ZohoBooksApi.FetchAssetHistory@1.0.0", + "description": "Fetch the detailed history of a specific fixed asset.\n\nThis tool retrieves a comprehensive history of a fixed asset, detailing its journey from acquisition to write-off. It should be called when you need insights into a fixed asset's lifecycle.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose asset history is being requested.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset. Required to fetch its detailed history.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to retrieve, with a default value of 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Defaults to 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_fixed_asset_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchAssetHistory", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-2021-0001", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchBankAccountRules", + "qualifiedName": "ZohoBooksApi.FetchBankAccountRules", + "fullyQualifiedName": "ZohoBooksApi.FetchBankAccountRules@1.0.0", + "description": "Fetch rules for a specified bank account.\n\nThis tool fetches all the rules created for a given bank or credit card account ID. It's used to retrieve details about transaction rules associated with a specific account.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This ID is necessary to fetch the rules linked with the specified bank or credit card account.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "integer", + "required": true, + "description": "ID of the bank or credit card account to fetch rules for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bank_account_rules'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchBankAccountRules", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": 987654321, + "type": "integer", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchBankTransactionDetails", + "qualifiedName": "ZohoBooksApi.FetchBankTransactionDetails", + "fullyQualifiedName": "ZohoBooksApi.FetchBankTransactionDetails@1.0.0", + "description": "Fetch details of a specific bank transaction by ID.\n\nUse this tool to retrieve detailed information about a bank transaction by providing its transaction ID. This is useful for accessing specific transaction records in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the bank transaction details need to be fetched.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier for the bank transaction to fetch its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchBankTransactionDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "BTX-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchEmployeeDetails", + "qualifiedName": "ZohoBooksApi.FetchEmployeeDetails", + "fullyQualifiedName": "ZohoBooksApi.FetchEmployeeDetails@1.0.0", + "description": "Retrieve detailed information about an employee.\n\nThis tool is used to obtain comprehensive details of a specific employee by their ID in Zoho Books. It should be called when detailed employee information is needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. This ID is necessary to specify which organization's employee details are being requested.", + "enum": null, + "inferrable": true + }, + { + "name": "employee_unique_id", + "type": "string", + "required": true, + "description": "The unique identifier for the employee whose details are to be fetched in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_employee'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchEmployeeDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "employee_unique_id": { + "value": "8736452000001234567", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchVendorCreditRefunds", + "qualifiedName": "ZohoBooksApi.FetchVendorCreditRefunds", + "fullyQualifiedName": "ZohoBooksApi.FetchVendorCreditRefunds@1.0.0", + "description": "Retrieve a paginated list of vendor credit refunds.\n\nUse this tool to obtain detailed information about vendor credit refunds, useful for financial reconciliation and tracking vendor transactions. This tool supports pagination.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which to list vendor credit refunds.", + "enum": null, + "inferrable": true + }, + { + "name": "search_vendor_credits_by_customer_id", + "type": "integer", + "required": false, + "description": "Search for vendor credits linked to a specific customer using their ID.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_last_modified_time", + "type": "string", + "required": false, + "description": "Search vendor credits using the last modified time as a filter. This expects a date-time string, typically in ISO 8601 format, to narrow down results by when they were last modified.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_vendor_credits_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort vendor credits by. Allowed values: vendor_name, vendor_credit_number, balance, total, date, created_time, last_modified_time, reference_number.", + "enum": null, + "inferrable": true + }, + { + "name": "pagination_page_number", + "type": "integer", + "required": false, + "description": "Specify the page number of results to retrieve for pagination. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of vendor credits to return per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_credit_refunds1'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchVendorCreditRefunds", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "search_vendor_credits_by_customer_id": { + "value": 987654321, + "type": "integer", + "required": false + }, + "vendor_credit_last_modified_time": { + "value": "2026-02-01T12:00:00Z", + "type": "string", + "required": false + }, + "sort_vendor_credits_by_column": { + "value": "last_modified_time", + "type": "string", + "required": false + }, + "pagination_page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchVendorPaymentDetails", + "qualifiedName": "ZohoBooksApi.FetchVendorPaymentDetails", + "fullyQualifiedName": "ZohoBooksApi.FetchVendorPaymentDetails@1.0.0", + "description": "Retrieve details of a vendor payment by payment ID.\n\nCall this tool to get detailed information about a specific vendor payment using the payment ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve the vendor payment details.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the payment to retrieve its details.", + "enum": null, + "inferrable": true + }, + { + "name": "include_tax_information", + "type": "boolean", + "required": false, + "description": "Set to true to fetch tax information for the vendor payment.", + "enum": null, + "inferrable": true + }, + { + "name": "fetch_statement_line_info", + "type": "boolean", + "required": false, + "description": "Set to true to fetch statement line information for the vendor payment.", + "enum": null, + "inferrable": true + }, + { + "name": "print_payment", + "type": "boolean", + "required": false, + "description": "Specify true to print the Vendor Payment details.", + "enum": null, + "inferrable": true + }, + { + "name": "is_bill_payment_id", + "type": "boolean", + "required": false, + "description": "True if the ID is for a Bill Payment, false for a Vendor Payment.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchVendorPaymentDetails", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "VPAY-2026-00042", + "type": "string", + "required": true + }, + "include_tax_information": { + "value": true, + "type": "boolean", + "required": false + }, + "fetch_statement_line_info": { + "value": false, + "type": "boolean", + "required": false + }, + "print_payment": { + "value": false, + "type": "boolean", + "required": false + }, + "is_bill_payment_id": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FindMatchingBankTransactions", + "qualifiedName": "ZohoBooksApi.FindMatchingBankTransactions", + "fullyQualifiedName": "ZohoBooksApi.FindMatchingBankTransactions@1.0.0", + "description": "Find matching uncategorized bank transactions.\n\nThis tool retrieves a list of uncategorized bank transactions that match specified criteria. It can also handle invoices, bills, and credit notes by recording and matching new payment or refund transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to search transactions for.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier for the bank transaction to search for matching entries.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank transaction to be matched.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_type", + "type": "string", + "required": false, + "description": "Specify the type of transaction. Allowed values: deposit, refund, transfer_fund, card_payment, sales_without_invoices, expense_refund, owner_contribution, interest_income, other_income, owner_drawings, sales_return. Note: Some types are module-specific and cannot be created under this endpoint.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_date_after", + "type": "string", + "required": false, + "description": "Specify the date after which transactions should be filtered. Use YYYY-MM-DD format.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_date_before", + "type": "string", + "required": false, + "description": "Specify a date in YYYY-MM-DD format. Transactions before this date will be filtered.", + "enum": null, + "inferrable": true + }, + { + "name": "minimum_transaction_amount", + "type": "number", + "required": false, + "description": "Minimum amount to filter transactions. Only transactions equal to or greater than this amount are included.", + "enum": null, + "inferrable": true + }, + { + "name": "maximum_transaction_amount", + "type": "number", + "required": false, + "description": "Maximum amount for filtering transactions. Only transactions with an amount less than or equal to this value will be included.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_contact_name", + "type": "string", + "required": false, + "description": "Name of the contact person involved in the transaction.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_reference_number", + "type": "string", + "required": false, + "description": "Reference number of the transaction to filter matching records.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number to fetch. Default is 1, used for pagination.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. The default value is 200.", + "enum": null, + "inferrable": true + }, + { + "name": "show_all_transactions", + "type": "boolean", + "required": false, + "description": "Set to true to display all transactions without applying filters; false to filter transactions.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_matching_bank_transactions'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FindMatchingBankTransactions", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "transaction_id": { + "value": "txn_987654321", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "bt_11223344", + "type": "string", + "required": true + }, + "transaction_type": { + "value": "deposit", + "type": "string", + "required": false + }, + "filter_date_after": { + "value": "2026-01-01", + "type": "string", + "required": false + }, + "filter_date_before": { + "value": "2026-01-31", + "type": "string", + "required": false + }, + "minimum_transaction_amount": { + "value": 50.75, + "type": "integer", + "required": false + }, + "maximum_transaction_amount": { + "value": 1000, + "type": "integer", + "required": false + }, + "transaction_contact_name": { + "value": "Acme Corp", + "type": "string", + "required": false + }, + "transaction_reference_number": { + "value": "REF-20260115-001", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + }, + "show_all_transactions": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GenerateInvoicePaymentLink", + "qualifiedName": "ZohoBooksApi.GenerateInvoicePaymentLink", + "fullyQualifiedName": "ZohoBooksApi.GenerateInvoicePaymentLink@1.0.0", + "description": "Generate a payment link for an invoice with expiry.\n\nUse this tool to generate a unique payment link for a specified invoice, including setting an expiry date for the link.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Specify the organization's unique ID.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_transaction_id", + "type": "string", + "required": true, + "description": "The unique ID of the transaction or invoice for which the payment link is generated.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_type", + "type": "string", + "required": true, + "description": "Specifies the type of transaction, typically 'Invoice'.", + "enum": null, + "inferrable": true + }, + { + "name": "link_type", + "type": "string", + "required": true, + "description": "Specifies whether the payment link is Private or Public.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_link_expiry_date", + "type": "string", + "required": true, + "description": "The date when the payment link should expire. Use format: yyyy-MM-dd.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'generate_invoice_payment_link'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GenerateInvoicePaymentLink", + "parameters": { + "organization_identifier": { + "value": "org_9a8b7c6d5e", + "type": "string", + "required": true + }, + "invoice_transaction_id": { + "value": "INV-2026-00042", + "type": "string", + "required": true + }, + "transaction_type": { + "value": "Invoice", + "type": "string", + "required": true + }, + "link_type": { + "value": "Private", + "type": "string", + "required": true + }, + "payment_link_expiry_date": { + "value": "2026-03-20", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetAccountDetails", + "qualifiedName": "ZohoBooksApi.GetAccountDetails", + "fullyQualifiedName": "ZohoBooksApi.GetAccountDetails@1.0.0", + "description": "Retrieve detailed information for a specified account.\n\nThis tool is used to obtain detailed information about a specific account from the chart of accounts. It should be called when you need to access account specifics such as account name, type, and other related details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the account belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "account_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the account details request.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_chart_of_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetAccountDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "account_unique_id": { + "value": "1023456000000001234", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetAssetDepreciationSummary", + "qualifiedName": "ZohoBooksApi.GetAssetDepreciationSummary", + "fullyQualifiedName": "ZohoBooksApi.GetAssetDepreciationSummary@1.0.0", + "description": "Displays detailed future depreciation rates for a fixed asset.\n\nUse this tool to obtain a summary of an asset's future depreciation rates. It is helpful for financial forecasting and decision-making regarding fixed assets.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the asset's future depreciation rates are to be retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset to fetch its future depreciation rates.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_fixed_asset_forecast'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetAssetDepreciationSummary", + "parameters": { + "organization_identifier": { + "value": "org_1234567890", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-2024-001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBankAccountDetails", + "qualifiedName": "ZohoBooksApi.GetBankAccountDetails", + "fullyQualifiedName": "ZohoBooksApi.GetBankAccountDetails@1.0.0", + "description": "Retrieve detailed information of a specified bank account.\n\nCall this tool to get a comprehensive view of a bank account by specifying its account ID. Useful for accessing detailed account data within Zoho Books.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID for the organization. Required to specify which organization's data to access.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": true, + "description": "Unique identifier used to specify the bank account for detailed retrieval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bank_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBankAccountDetails", + "parameters": { + "organization_identifier": { + "value": "org_123456789", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": "bank_acc_987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBankAccountRuleDetails", + "qualifiedName": "ZohoBooksApi.GetBankAccountRuleDetails", + "fullyQualifiedName": "ZohoBooksApi.GetBankAccountRuleDetails@1.0.0", + "description": "Retrieve details of a specific bank account rule.\n\nCall this tool to get information about a specific rule in a bank account using its rule ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which to retrieve the bank account rule details.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_rule_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account rule to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bank_account_rule'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBankAccountRuleDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bank_account_rule_id": { + "value": "rule_abc123def", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBankTransactions", + "qualifiedName": "ZohoBooksApi.GetBankTransactions", + "fullyQualifiedName": "ZohoBooksApi.GetBankTransactions@1.0.0", + "description": "Retrieve all transaction details for a bank account.\n\nUse this tool to obtain detailed information about all transactions involved in a specific bank account. It is helpful for financial analysis and record-keeping.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "A unique ID representing the organization for which transactions are being queried. This is required to specify the context of the request.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "integer", + "required": false, + "description": "Unique identifier for the bank account to retrieve transactions for.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_type_filter", + "type": "string", + "required": false, + "description": "Specify the type of transactions to retrieve. Expected as a string, e.g., 'expense', 'income'.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_date_range", + "type": "string", + "required": false, + "description": "Specify the start and end date for the transaction date range. Use 'date_start' for the start and 'date_end' for the end date.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_amount_range", + "type": "number", + "required": false, + "description": "Set a range of transaction amounts to filter transactions. Use two numbers: start amount, end amount.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_status_list_view", + "type": "string", + "required": false, + "description": "Filter transactions by status: all, uncategorized, manually_added, matched, excluded, categorized.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_reference_number", + "type": "string", + "required": false, + "description": "Search for a transaction using its reference number for more precise results.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_filter_type", + "type": "string", + "required": false, + "description": "Filter transactions by type: Status.All, Status.Uncategorized, Status.Categorized, Status.ManuallyAdded, Status.Excluded, Status.Matched.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_transactions_by", + "type": "string", + "required": false, + "description": "Specify how to sort transactions. Allowed value: 'date'.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_status_filter", + "type": "string", + "required": false, + "description": "Filter transactions by status: All, uncategorized, manually_added, matched, excluded, categorized.", + "enum": null, + "inferrable": true + }, + { + "name": "search_transactions_by_text", + "type": "string", + "required": false, + "description": "Search transactions using contact name or transaction description.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_page_number", + "type": "integer", + "required": false, + "description": "Page number of transactions to fetch, with a default value of 1. Used for pagination.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of transaction records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bank_transactions'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBankTransactions", + "parameters": { + "organization_id": { + "value": "687394839", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": 123456789, + "type": "integer", + "required": false + }, + "transaction_type_filter": { + "value": "expense", + "type": "string", + "required": false + }, + "transaction_date_range": { + "value": "date_start=2025-01-01&date_end=2025-01-31", + "type": "string", + "required": false + }, + "transaction_amount_range": { + "value": "100.00,1000.00", + "type": "integer", + "required": false + }, + "transaction_status_list_view": { + "value": "categorized", + "type": "string", + "required": false + }, + "transaction_reference_number": { + "value": "REF-20250115-789", + "type": "string", + "required": false + }, + "transaction_filter_type": { + "value": "Status.Matched", + "type": "string", + "required": false + }, + "sort_transactions_by": { + "value": "date", + "type": "string", + "required": false + }, + "transaction_status_filter": { + "value": "matched", + "type": "string", + "required": false + }, + "search_transactions_by_text": { + "value": "Acme Supplies", + "type": "string", + "required": false + }, + "transaction_page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBaseCurrencyAdjustmentDetails", + "qualifiedName": "ZohoBooksApi.GetBaseCurrencyAdjustmentDetails", + "fullyQualifiedName": "ZohoBooksApi.GetBaseCurrencyAdjustmentDetails@1.0.0", + "description": "Retrieve base currency adjustment details by ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose currency adjustment details are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "base_currency_adjustment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the base currency adjustment to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_base_currency_adjustment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBaseCurrencyAdjustmentDetails", + "parameters": { + "organization_id": { + "value": "100000000000123", + "type": "string", + "required": true + }, + "base_currency_adjustment_identifier": { + "value": "BCA-2026-00042", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBillHistory", + "qualifiedName": "ZohoBooksApi.GetBillHistory", + "fullyQualifiedName": "ZohoBooksApi.GetBillHistory@1.0.0", + "description": "Retrieve the complete history and comments for a bill.\n\nThis tool retrieves the entire history and comments associated with a specified bill. It is useful for reviewing past interactions and notes on a bill.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "String identifier for the organization whose bill history and comments you wish to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to retrieve its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bill_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBillHistory", + "parameters": { + "organization_id": { + "value": "org_123456789", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-000321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBillPaymentsList", + "qualifiedName": "ZohoBooksApi.GetBillPaymentsList", + "fullyQualifiedName": "ZohoBooksApi.GetBillPaymentsList@1.0.0", + "description": "Retrieve the list of payments made for a specific bill.\n\nThis tool provides a list of all payments made for a specified bill using the bill ID. It should be called when you need to view detailed payment history for a particular bill.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which to retrieve bill payments.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific bill to retrieve payment details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bill_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBillPaymentsList", + "parameters": { + "organization_id": { + "value": "7435123456", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactActivityRecentComments", + "qualifiedName": "ZohoBooksApi.GetContactActivityRecentComments", + "fullyQualifiedName": "ZohoBooksApi.GetContactActivityRecentComments@1.0.0", + "description": "Retrieve recent comments for a specific contact.\n\nUse this tool to get a list of recent comments or activities associated with a specific contact in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose contact comments you want to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact to retrieve recent comments.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number to be fetched. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_contact_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactActivityRecentComments", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "contact_987654321", + "type": "string", + "required": true + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactAddresses", + "qualifiedName": "ZohoBooksApi.GetContactAddresses", + "fullyQualifiedName": "ZohoBooksApi.GetContactAddresses@1.0.0", + "description": "Retrieve addresses for a specified contact.\n\nGet the shipping, billing, and additional addresses of a specific contact in Zoho Books. This tool is useful for retrieving address details when needing to display or utilize contact information in applications.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. This ID is necessary to fetch the contact's addresses within the specified organization.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": true, + "description": "Unique identifier of the contact in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_contact_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactAddresses", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "contact_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactPersonDetails", + "qualifiedName": "ZohoBooksApi.GetContactPersonDetails", + "fullyQualifiedName": "ZohoBooksApi.GetContactPersonDetails@1.0.0", + "description": "Retrieve details of a specific contact person.\n\nUse this tool to get detailed information about a specific contact person associated with a given contact in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. This identifies which organization the contact person belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the contact in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_person_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact person in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_contact_person'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactPersonDetails", + "parameters": { + "organization_id": { + "value": "6000123456789012345", + "type": "string", + "required": true + }, + "contact_identifier": { + "value": "C1234567890", + "type": "string", + "required": true + }, + "contact_person_identifier": { + "value": "CP9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactRefundHistory", + "qualifiedName": "ZohoBooksApi.GetContactRefundHistory", + "fullyQualifiedName": "ZohoBooksApi.GetContactRefundHistory@1.0.0", + "description": "Retrieve the refund history of a specific contact.\n\nUse this tool to get a list of all refunds associated with a particular contact in Zoho Books. This can be useful for financial reconciliations or customer service inquiries related to refund transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to access the specific account data.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact in Zoho Books for refund history retrieval.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch for the contact's refund history. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specifies how many refund records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_contact_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactRefundHistory", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "543210000000123456", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactStatementMailContent", + "qualifiedName": "ZohoBooksApi.GetContactStatementMailContent", + "fullyQualifiedName": "ZohoBooksApi.GetContactStatementMailContent@1.0.0", + "description": "Retrieve the statement email content for a contact.\n\nUse this tool to get the content of a statement email for a specified contact in Zoho Books.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve statement mail content for the contact.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the contact to retrieve the statement mail content.", + "enum": null, + "inferrable": true + }, + { + "name": "statement_start_date", + "type": "string", + "required": false, + "description": "Start date for the statement. Use format [yyyy-mm-dd]. Defaults to current month if not provided.", + "enum": null, + "inferrable": true + }, + { + "name": "statement_end_date", + "type": "string", + "required": false, + "description": "End date for the statement in the format [yyyy-mm-dd].", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_contact_statement_mail'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactStatementMailContent", + "parameters": { + "organization_identifier": { + "value": "837261549", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "c4f2a9e8-5b7d-4a12-9f3c-2e6b9a8d7f1c", + "type": "string", + "required": true + }, + "statement_start_date": { + "value": "2026-01-01", + "type": "string", + "required": false + }, + "statement_end_date": { + "value": "2026-01-31", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNoteComments", + "qualifiedName": "ZohoBooksApi.GetCreditNoteComments", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteComments@1.0.0", + "description": "Retrieve comments and history of a credit note.\n\nUse this tool to obtain the history and comments associated with a specific credit note by providing the credit note's ID. This can be useful for tracking changes or feedback related to the credit transaction.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Provide the organization's unique ID to retrieve credit note comments.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Provide the unique identifier of the credit note to retrieve its comments and history.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_note_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNoteComments", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNoteDetails", + "qualifiedName": "ZohoBooksApi.GetCreditNoteDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteDetails@1.0.0", + "description": "Retrieve details of a specific credit note using its ID.\n\nCall this tool to obtain detailed information about an existing credit note by providing its unique identifier. Useful for tracking, reviewing, or managing credit notes within Zoho Books.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "The unique identifier of the credit note to retrieve details for. This ID is essential for accessing the specific credit note information.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specify the format of the credit note details: json, pdf, or html. Default is html.", + "enum": null, + "inferrable": true + }, + { + "name": "export_with_default_print_option", + "type": "boolean", + "required": false, + "description": "Specify whether to export the credit note PDF with the default print option. Use 'true' or 'false'.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNoteDetails", + "parameters": { + "organization_identifier": { + "value": "726549000000123456", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "726549000000654321", + "type": "string", + "required": true + }, + "response_format": { + "value": "json", + "type": "string", + "required": false + }, + "export_with_default_print_option": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNoteEmailContent", + "qualifiedName": "ZohoBooksApi.GetCreditNoteEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteEmailContent@1.0.0", + "description": "Retrieve email content for a given credit note.\n\nUse this tool to get the email content associated with a specified credit note by its ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve the credit note email content for. This is a required field.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve its email content.", + "enum": null, + "inferrable": true + }, + { + "name": "specified_email_template_id", + "type": "string", + "required": false, + "description": "ID of a specific email template. If not provided, defaults to customer's or the default template.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_credit_note_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNoteEmailContent", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-2026-0001", + "type": "string", + "required": true + }, + "specified_email_template_id": { + "value": "TPL-15", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNotePdfTemplates", + "qualifiedName": "ZohoBooksApi.GetCreditNotePdfTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNotePdfTemplates@1.0.0", + "description": "Retrieve all credit note PDF templates from Zoho Books.\n\nUse this tool to obtain a list of all available credit note PDF templates from Zoho Books. It's useful when you need to browse or select a specific credit note template for use.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to fetch credit note templates.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_note_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNotePdfTemplates", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNoteRefund", + "qualifiedName": "ZohoBooksApi.GetCreditNoteRefund", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteRefund@1.0.0", + "description": "Retrieve refund details for a specific credit note.\n\nUse this tool to obtain information about the refund of a specific credit note by providing the credit note ID and refund ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which the credit note refund is being retrieved. Use a valid organization identifier.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve refund details for.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note refund to retrieve specific refund details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_credit_note_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNoteRefund", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-00012", + "type": "string", + "required": true + }, + "credit_note_refund_id": { + "value": "RFD-000987", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCurrencyDetails", + "qualifiedName": "ZohoBooksApi.GetCurrencyDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCurrencyDetails@1.0.0", + "description": "Get the details of a specific currency.\n\nUse this tool to obtain detailed information about a particular currency by its ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the currency details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the currency to fetch details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_currency'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCurrencyDetails", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "currency_identifier": { + "value": "USD", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCurrencyExchangeRate", + "qualifiedName": "ZohoBooksApi.GetCurrencyExchangeRate", + "fullyQualifiedName": "ZohoBooksApi.GetCurrencyExchangeRate@1.0.0", + "description": "Retrieve details of a specific currency exchange rate.\n\nThis tool is used to get details of an exchange rate associated with a specified currency. It should be called when you need information about a specific exchange rate for financial or currency conversion purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which you want to retrieve exchange rate details.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the currency. Use to specify the currency for the exchange rate details.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the exchange rate to retrieve details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_exchange_rate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCurrencyExchangeRate", + "parameters": { + "organization_id": { + "value": "org_1234567890", + "type": "string", + "required": true + }, + "currency_unique_identifier": { + "value": "USD", + "type": "string", + "required": true + }, + "exchange_rate_unique_id": { + "value": "ex_5f1d3a9b", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCurrentRunningTimer", + "qualifiedName": "ZohoBooksApi.GetCurrentRunningTimer", + "fullyQualifiedName": "ZohoBooksApi.GetCurrentRunningTimer@1.0.0", + "description": "Retrieve the current running timer for a user.\n\nUse this tool to get information about the current running timer for personal time tracking in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose running timer is being retrieved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_running_timer'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCurrentRunningTimer", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCurrentUserDetails", + "qualifiedName": "ZohoBooksApi.GetCurrentUserDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCurrentUserDetails@1.0.0", + "description": "Retrieve details of the current user from Zoho Books.\n\nUse this tool to get information about the currently authenticated user in Zoho Books. Ideal for scenarios where user-specific data is needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books to retrieve the current user details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_current_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCurrentUserDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCustomerDebitNote", + "qualifiedName": "ZohoBooksApi.GetCustomerDebitNote", + "fullyQualifiedName": "ZohoBooksApi.GetCustomerDebitNote@1.0.0", + "description": "Retrieve the details of a customer debit note from Zoho Books.\n\nThis tool is used to get detailed information about a specific customer debit note by its ID from Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Organization ID for the request. This ID is required to specify the organization from which to retrieve the debit note.", + "enum": null, + "inferrable": true + }, + { + "name": "debit_note_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific debit note to retrieve details.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Format of the debit note details. Options are json, pdf, or html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "If true, print the exported PDF version of the debit note; otherwise, do not print.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_customer_debit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCustomerDebitNote", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "debit_note_unique_id": { + "value": "DNB-00012345", + "type": "string", + "required": true + }, + "response_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCustomerPaymentDetails", + "qualifiedName": "ZohoBooksApi.GetCustomerPaymentDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCustomerPaymentDetails@1.0.0", + "description": "Retrieve details of a specific customer payment.\n\nUse this tool to obtain information about a specific customer payment by providing the payment ID. Ideal for retrieving payment history or verifying payment details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the payment details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the payment to retrieve details for.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Format of the response. Allowed values: 'json' or 'pdf'. Default is 'json'.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCustomerPaymentDetails", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "9876543210", + "type": "string", + "required": true + }, + "response_format": { + "value": "json", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCustomerPaymentRefundDetails", + "qualifiedName": "ZohoBooksApi.GetCustomerPaymentRefundDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCustomerPaymentRefundDetails@1.0.0", + "description": "Obtain details of a specific customer payment refund.\n\nUse this tool to get detailed information about a particular refund related to a customer's payment.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization. This is required to specify which organization's data to access.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the customer payment to retrieve refund details.", + "enum": null, + "inferrable": true + }, + { + "name": "refund_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the refund for the specified customer payment.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_customer_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCustomerPaymentRefundDetails", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "customer_payment_unique_id": { + "value": "cp_5f3a9b2d", + "type": "string", + "required": true + }, + "refund_identifier": { + "value": "rf_9a1c7e4b", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCustomModuleRecordDetails", + "qualifiedName": "ZohoBooksApi.GetCustomModuleRecordDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCustomModuleRecordDetails@1.0.0", + "description": "Fetch details of an organization in Zoho Books.\n\nUse this tool to retrieve details of a specific organization by providing the module name and module ID in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": true, + "description": "The name of the module associated with the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_id", + "type": "integer", + "required": true, + "description": "The ID for the specific custom module in Zoho Books that you want to retrieve details for. This value should be an integer.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_custom_module_record_details'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCustomModuleRecordDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "module_name": { + "value": "CustomModuleContacts", + "type": "string", + "required": true + }, + "custom_module_id": { + "value": 1012345, + "type": "integer", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetEstimateComments", + "qualifiedName": "ZohoBooksApi.GetEstimateComments", + "fullyQualifiedName": "ZohoBooksApi.GetEstimateComments@1.0.0", + "description": "Get the complete history and comments of an estimate.\n\nThis tool retrieves all comments and historical data associated with a specific estimate. Use it to track changes or discussions about an estimate.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization whose estimate comments are needed.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate to retrieve its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_estimate_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetEstimateComments", + "parameters": { + "organization_id": { + "value": "675432100000012345", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetEstimateEmailContent", + "qualifiedName": "ZohoBooksApi.GetEstimateEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetEstimateEmailContent@1.0.0", + "description": "Retrieve the email content for a specific estimate.\n\nUse this tool to get the email content associated with a specific estimate by providing the estimate ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which you want to retrieve the estimate email content.", + "enum": null, + "inferrable": true + }, + { + "name": "email_template_id", + "type": "string", + "required": true, + "description": "Optional. Specify a template ID to retrieve the email content based on a specific template. If not provided, defaults to the customer's associated or default template.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_id", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate to retrieve its email content.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_estimate_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetEstimateEmailContent", + "parameters": { + "organization_id": { + "value": "6000000000001234567", + "type": "string", + "required": true + }, + "email_template_id": { + "value": "1000000000001234567", + "type": "string", + "required": true + }, + "estimate_id": { + "value": "5000000000007654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetEstimateTemplates", + "qualifiedName": "ZohoBooksApi.GetEstimateTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetEstimateTemplates@1.0.0", + "description": "Retrieve all estimate PDF templates.\n\nThis tool retrieves a list of all available PDF templates used for estimates. It should be called when users need to view or select templates for estimate documents.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to fetch estimate templates.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_estimate_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetEstimateTemplates", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetExpenseComments", + "qualifiedName": "ZohoBooksApi.GetExpenseComments", + "fullyQualifiedName": "ZohoBooksApi.GetExpenseComments@1.0.0", + "description": "Retrieve comments and history for a specific expense.\n\nThis tool should be called to get the discussion and history associated with an expense, specified by its ID, in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books required to fetch the expense comments.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the expense to retrieve its comments and history in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_expense_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetExpenseComments", + "parameters": { + "organization_id": { + "value": "123456789012", + "type": "string", + "required": true + }, + "expense_unique_id": { + "value": "EXP-000123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetExpenseDetails", + "qualifiedName": "ZohoBooksApi.GetExpenseDetails", + "fullyQualifiedName": "ZohoBooksApi.GetExpenseDetails@1.0.0", + "description": "Retrieve details of a specific expense by ID.\n\nUse this tool to get detailed information about an expense by providing the expense ID. Ideal for financial reviews or tracking specific expenses.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "String representing the ID of the organization for which the expense details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the expense to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetExpenseDetails", + "parameters": { + "organization_identifier": { + "value": "60012345678", + "type": "string", + "required": true + }, + "expense_identifier": { + "value": "EXP-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetFixedAssetDetails", + "qualifiedName": "ZohoBooksApi.GetFixedAssetDetails", + "fullyQualifiedName": "ZohoBooksApi.GetFixedAssetDetails@1.0.0", + "description": "Retrieve details of a fixed asset using its ID.\n\nThis tool is used to obtain detailed information about a fixed asset by providing its unique ID. It should be called when you need specific details about an asset in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which you want to retrieve the asset details.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetFixedAssetDetails", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetFixedAssetsList", + "qualifiedName": "ZohoBooksApi.GetFixedAssetsList", + "fullyQualifiedName": "ZohoBooksApi.GetFixedAssetsList@1.0.0", + "description": "Retrieve a list of fixed assets from Zoho Books.\n\nUse this tool to obtain a detailed list of fixed assets stored in Zoho Books. Ideal for managing and reviewing asset inventories.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which to list fixed assets.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_fixed_asset_status", + "type": "string", + "required": false, + "description": "Filter the fixed asset list by status. Valid inputs: Status.All, Status.Active, Status.Cancel, Status.FullyDepreciated, Status.WriteOff, Status.Sold, Status.Draft.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort the fixed asset list. Choose from: asset_name, asset_number, asset_cost, created_time, current_asset_value.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_order", + "type": "string", + "required": false, + "description": "Sort the fixed asset list in ascending or descending order. Use 'A' for ascending and 'D' for descending.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch from the fixed asset list. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of fixed asset records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_fixed_assets'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetFixedAssetsList", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "filter_fixed_asset_status": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "asset_name", + "type": "string", + "required": false + }, + "sort_order": { + "value": "A", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetFixedAssetTypeList", + "qualifiedName": "ZohoBooksApi.GetFixedAssetTypeList", + "fullyQualifiedName": "ZohoBooksApi.GetFixedAssetTypeList@1.0.0", + "description": "Retrieve a list of fixed asset types.\n\nCall this tool to obtain a list of all available fixed asset types in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization to retrieve asset types for.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "The page number to retrieve for the list of fixed asset types. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_fixed_asset_type_list'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetFixedAssetTypeList", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceAttachment", + "qualifiedName": "ZohoBooksApi.GetInvoiceAttachment", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceAttachment@1.0.0", + "description": "Fetch attachment file from a specified invoice.\n\nCall this tool to retrieve the file attached to a specific invoice using its ID. Useful for accessing documents associated with invoices.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to retrieve the invoice attachment for.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to fetch the attachment from.", + "enum": null, + "inferrable": true + }, + { + "name": "get_thumbnail", + "type": "boolean", + "required": false, + "description": "Set to true to get the thumbnail of the invoice attachment.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceAttachment", + "parameters": { + "organization_id": { + "value": "6001000000001234567", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-001", + "type": "string", + "required": true + }, + "get_thumbnail": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceComments", + "qualifiedName": "ZohoBooksApi.GetInvoiceComments", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceComments@1.0.0", + "description": "Get comments and history of an invoice.\n\nUse this tool to retrieve the full history and all comments associated with a specific invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice comments and history are being retrieved. Must be a unique string identifier.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific invoice to retrieve comments and history.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoice_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceComments", + "parameters": { + "organization_id": { + "value": "org_987654321", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceCreditsApplied", + "qualifiedName": "ZohoBooksApi.GetInvoiceCreditsApplied", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceCreditsApplied@1.0.0", + "description": "Retrieve the credits applied to a specific invoice.\n\nUse this tool to obtain a list of all credits that have been applied to a particular invoice. It should be called when detailed invoice credit information is needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to retrieve credits applied to an invoice.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice for which credits are applied.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoice_credits_applied'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceCreditsApplied", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceDetails", + "qualifiedName": "ZohoBooksApi.GetInvoiceDetails", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceDetails@1.0.0", + "description": "Retrieve details of a specific invoice by ID.\n\nThis tool is used to get detailed information about a specific invoice using its ID. It can be called when needing to verify invoice details, check status, or confirm amounts.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the invoice details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice. Used to specify which invoice details to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "format_type", + "type": "string", + "required": false, + "description": "Specify the format for invoice details: json, pdf, or html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Boolean value indicating whether to print the exported PDF.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceDetails", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "format_type": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceEmailContent", + "qualifiedName": "ZohoBooksApi.GetInvoiceEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceEmailContent@1.0.0", + "description": "Retrieve the email content for a specific invoice.\n\nUse this tool to get the formatted email content of a particular invoice by specifying the invoice ID. Ideal for scenarios where you need to access or send invoice details via email.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to retrieve invoice email content for the specified organization.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to retrieve its email content.", + "enum": null, + "inferrable": true + }, + { + "name": "email_template_id", + "type": "string", + "required": false, + "description": "Optional. Specify a template ID to get the email content based on a specific template. Defaults to customer-associated or default template if not provided.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_invoice_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceEmailContent", + "parameters": { + "organization_identifier": { + "value": "60000000001", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "email_template_id": { + "value": "2000000000001", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceList", + "qualifiedName": "ZohoBooksApi.GetInvoiceList", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceList@1.0.0", + "description": "Retrieve and organize a list of invoices from Zoho Books.\n\nThis tool fetches a list of invoices using Zoho Books' API with options for pagination, filtering, searching, and sorting. Useful for finding specific invoices or browsing records systematically.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which invoices are being queried. This ID is crucial for accessing the correct set of invoices within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_invoice_number", + "type": "string", + "required": false, + "description": "Search for invoices using their unique invoice number. Supports 'startswith' and 'contains' variants. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_invoice_by_item_name", + "type": "string", + "required": false, + "description": "Filters invoices by product or service name in line items. Supports 'item_name_startswith' and 'item_name_contains'. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_id", + "type": "string", + "required": false, + "description": "Search invoices by item ID. Use the unique identifier of a product or service to filter invoices that include specific line items.", + "enum": null, + "inferrable": true + }, + { + "name": "item_description_filter", + "type": "string", + "required": false, + "description": "Filter invoices by item description using keywords. Supports 'startswith' and 'contains' variants. Max 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_reference_number", + "type": "string", + "required": false, + "description": "Search invoices by reference number, such as purchase order or project codes, to find invoices associated with specific projects or transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_name", + "type": "string", + "required": false, + "description": "Search for invoices using the customer's name, with a maximum length of 100 characters, to generate customer-specific reports or find all invoices for a customer.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": false, + "description": "ID of the recurring invoice from which the invoice is created. Use to filter invoices tied to specific recurring billing cycles.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_email_filter", + "type": "string", + "required": false, + "description": "Filter invoices by the customer's email address. Maximum length is 100 characters. Ideal for finding specific customer invoices or customer segment analysis.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_total_amount", + "type": "string", + "required": false, + "description": "Search and filter invoices based on the final total amount, including taxes, discounts, and adjustments. Useful for finding invoices within specific price ranges or identifying high-value transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_outstanding_balance", + "type": "string", + "required": false, + "description": "Filter invoices by outstanding balance to find overdue invoices, track receivables, or generate aging reports.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_custom_field", + "type": "string", + "required": false, + "description": "Search invoices using custom fields. Supports 'custom_field_startswith' and 'custom_field_contains' for partial matching.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_date_filter", + "type": "string", + "required": false, + "description": "Filter invoices by invoice date using yyyy-mm-dd format. Supports variants like date_start, date_end, date_before, and date_after to find invoices within specific date ranges.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_due_date_filter", + "type": "string", + "required": false, + "description": "Filter invoices by due date using yyyy-mm-dd format. Supports start, end, before, and after variants for flexible searching.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_creation_date", + "type": "string", + "required": false, + "description": "Filter invoices by creation date with yyyy-mm-dd format. Supports variants: start, end, before, and after.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_last_modified_time", + "type": "string", + "required": false, + "description": "Filters invoices modified after a specific timestamp in YYYY-MM-DDTHH:MM:SS-UTC format. Useful for identifying recently updated invoices.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_status", + "type": "string", + "required": false, + "description": "Filter invoices by their current status (e.g., sent, draft, overdue, etc.).", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "string", + "required": false, + "description": "Filters invoices using the unique customer ID. Use the ID from the Contacts API to find all invoices for a specific customer.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_invoices_by_criteria", + "type": "string", + "required": false, + "description": "Filter invoices by status (e.g., Status.Sent, Status.Paid) or payment expected date using Date.PaymentExpectedDate.", + "enum": null, + "inferrable": true + }, + { + "name": "general_search_text", + "type": "string", + "required": false, + "description": "General search for invoices by invoice number, purchase order, or customer name. Accepts up to 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort invoices by. Options: customer_name, invoice_number, date, due_date, total, balance, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_crm_potential_id", + "type": "integer", + "required": false, + "description": "Find invoices linked to a specific CRM deal or opportunity using its potential ID from Zoho CRM.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format_type", + "type": "integer", + "required": false, + "description": "Specifies the desired response format: 0 for all invoices, 1 for all invoices with counts and totals, 2 for count only, 3 for count and totals, 4 for invoices and totals.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to fetch from paginated results. Default is 1. Use with 'per_page' for navigating large data sets.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200, maximum is 200. Use to control result size for performance optimization.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceList", + "parameters": { + "organization_id": { + "value": "669975321", + "type": "string", + "required": true + }, + "search_by_invoice_number": { + "value": "INV-2026-001", + "type": "string", + "required": false + }, + "search_invoice_by_item_name": { + "value": "item_name_contains:Laptop", + "type": "string", + "required": false + }, + "search_by_item_id": { + "value": "item_12345", + "type": "string", + "required": false + }, + "item_description_filter": { + "value": "item_description_contains:Extended warranty", + "type": "string", + "required": false + }, + "search_reference_number": { + "value": "PO-7890", + "type": "string", + "required": false + }, + "search_by_customer_name": { + "value": "Acme Corporation", + "type": "string", + "required": false + }, + "recurring_invoice_id": { + "value": "recurring_987654321", + "type": "string", + "required": false + }, + "customer_email_filter": { + "value": "billing@acme-corp.com", + "type": "string", + "required": false + }, + "search_by_total_amount": { + "value": "1000-5000", + "type": "string", + "required": false + }, + "search_by_outstanding_balance": { + "value": ">0", + "type": "string", + "required": false + }, + "search_by_custom_field": { + "value": "custom_field_contains:Project X", + "type": "string", + "required": false + }, + "invoice_date_filter": { + "value": "date_start:2026-01-01;date_end:2026-01-31", + "type": "string", + "required": false + }, + "invoice_due_date_filter": { + "value": "date_before:2026-02-28", + "type": "string", + "required": false + }, + "filter_by_creation_date": { + "value": "start:2025-12-01;end:2026-01-15", + "type": "string", + "required": false + }, + "filter_by_last_modified_time": { + "value": "2026-02-15T08:30:00Z", + "type": "string", + "required": false + }, + "invoice_status": { + "value": "overdue", + "type": "string", + "required": false + }, + "search_by_customer_id": { + "value": "543210987", + "type": "string", + "required": false + }, + "filter_invoices_by_criteria": { + "value": "Status.Paid", + "type": "string", + "required": false + }, + "general_search_text": { + "value": "Acme", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "due_date", + "type": "string", + "required": false + }, + "search_by_crm_potential_id": { + "value": 11223344, + "type": "integer", + "required": false + }, + "response_format_type": { + "value": 1, + "type": "integer", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoicePayments", + "qualifiedName": "ZohoBooksApi.GetInvoicePayments", + "fullyQualifiedName": "ZohoBooksApi.GetInvoicePayments@1.0.0", + "description": "Retrieve a list of payments for a specific invoice.\n\nUse this tool to get detailed information about payments made for a specific invoice by providing the invoice ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve invoice payments for.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to retrieve its payment details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoice_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoicePayments", + "parameters": { + "organization_id": { + "value": "60011111111", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetJournalDetails", + "qualifiedName": "ZohoBooksApi.GetJournalDetails", + "fullyQualifiedName": "ZohoBooksApi.GetJournalDetails@1.0.0", + "description": "Retrieve the details of a specific journal entry in Zoho Books.\n\nThis tool retrieves information about a specific journal entry from Zoho Books, using the journal ID. It should be called when details of a journal entry are needed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books required to retrieve journal details.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_unique_id", + "type": "string", + "required": true, + "description": "The unique identifier for the journal to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_journal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetJournalDetails", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "journal_unique_id": { + "value": "137945000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetJournalList", + "qualifiedName": "ZohoBooksApi.GetJournalList", + "fullyQualifiedName": "ZohoBooksApi.GetJournalList@1.0.0", + "description": "Retrieve a list of accounting journals.\n\nUse this tool to get a list of accounting journals. It's useful for accessing journal entries in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve journals for.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_entry_number", + "type": "string", + "required": false, + "description": "Search journals by journal entry number using exact match or variants like 'entry_number_startswith' and 'entry_number_contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_reference_number", + "type": "string", + "required": false, + "description": "Search journals by reference number. Use 'startswith:' or 'contains:' for filtering options.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_date_search", + "type": "string", + "required": false, + "description": "Specify date criteria to search journals. Use date_start, date_end, date_before, or date_after.", + "enum": null, + "inferrable": true + }, + { + "name": "search_journal_notes", + "type": "string", + "required": false, + "description": "Search journals by their associated notes. Options: 'startswith' or 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_modified_time", + "type": "string", + "required": false, + "description": "Search for journals using the last modified time as a filter criterion. Provide a valid timestamp to filter entries updated after that time.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_total_filter", + "type": "number", + "required": false, + "description": "Filter journals based on total amount using keys like total_less_than or total_greater_equals.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "integer", + "required": false, + "description": "Use a specific Customer ID to search for journals in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_id", + "type": "integer", + "required": false, + "description": "Specify the Vendor ID to search journals associated with that vendor.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_journals_by_date", + "type": "string", + "required": false, + "description": "Specify the time period to filter journals by date. Options: JournalDate.All, JournalDate.Today, JournalDate.ThisWeek, JournalDate.ThisMonth, JournalDate.ThisQuarter, JournalDate.ThisYear.", + "enum": null, + "inferrable": true + }, + { + "name": "sorting_column_for_journals", + "type": "string", + "required": false, + "description": "Specify the field to sort journals by. Options: 'journal_date', 'entry_number', 'reference_number', 'total'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number of the journal list to retrieve. Default value is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of journal records to be fetched per page. Default value is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_journals'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetJournalList", + "parameters": { + "organization_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "journal_entry_number": { + "value": "entry_number_startswith:JRN-2026", + "type": "string", + "required": false + }, + "search_by_reference_number": { + "value": "contains:REF-2026", + "type": "string", + "required": false + }, + "journal_date_search": { + "value": "date_start:2026-01-01,date_end:2026-01-31", + "type": "string", + "required": false + }, + "search_journal_notes": { + "value": "contains:month end adjustment", + "type": "string", + "required": false + }, + "search_by_last_modified_time": { + "value": "2026-02-15T12:34:56Z", + "type": "string", + "required": false + }, + "journal_total_filter": { + "value": 1500, + "type": "integer", + "required": false + }, + "search_by_customer_id": { + "value": 456789, + "type": "integer", + "required": false + }, + "vendor_id": { + "value": 789012, + "type": "integer", + "required": false + }, + "filter_journals_by_date": { + "value": "JournalDate.ThisMonth", + "type": "string", + "required": false + }, + "sorting_column_for_journals": { + "value": "journal_date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetLastImportedBankStatement", + "qualifiedName": "ZohoBooksApi.GetLastImportedBankStatement", + "fullyQualifiedName": "ZohoBooksApi.GetLastImportedBankStatement@1.0.0", + "description": "Retrieve the last imported bank statement details for an account.\n\nUse this tool to get information about the most recently imported bank statement for a specified account. It provides insights into the account's latest financial activities.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization used to retrieve the bank statement.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account for retrieving the last imported statement.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_last_imported_bank_statement'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetLastImportedBankStatement", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": "BA-9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetOpeningBalance", + "qualifiedName": "ZohoBooksApi.GetOpeningBalance", + "fullyQualifiedName": "ZohoBooksApi.GetOpeningBalance@1.0.0", + "description": "Retrieves the opening balance for accounts.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve the opening balance for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_opening_balance'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetOpeningBalance", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetOrganizationDetails", + "qualifiedName": "ZohoBooksApi.GetOrganizationDetails", + "fullyQualifiedName": "ZohoBooksApi.GetOrganizationDetails@1.0.0", + "description": "Retrieve details of an organization from Zoho Books.\n\nUse this tool to get comprehensive details about a specific organization in Zoho Books by providing the organization ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization in Zoho Books. Used to retrieve specific organization details.", + "enum": null, + "inferrable": true + }, + { + "name": "org_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific organization.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_organization'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetOrganizationDetails", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "org_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetOrganizationUsers", + "qualifiedName": "ZohoBooksApi.GetOrganizationUsers", + "fullyQualifiedName": "ZohoBooksApi.GetOrganizationUsers@1.0.0", + "description": "Retrieve the list of all users in the organization.\n\nUse this tool to get an updated list of all users within the organization. Ideal for tasks needing user information or management.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve its users. Provide a valid organization ID as a string.", + "enum": null, + "inferrable": true + }, + { + "name": "user_status_filter", + "type": "string", + "required": false, + "description": "Filter users based on their status. Options: Status.All, Status.Active, Status.Inactive, Status.Invited, Status.Deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_users_by_column", + "type": "string", + "required": false, + "description": "Specify the attribute to sort users by. Allowed values are name, email, user_role, and status.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to be retrieved, with default being 1. Specify to navigate through pages.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of user records to retrieve per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_users'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetOrganizationUsers", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "user_status_filter": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "sort_users_by_column": { + "value": "email", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPaymentReminderEmailContent", + "qualifiedName": "ZohoBooksApi.GetPaymentReminderEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetPaymentReminderEmailContent@1.0.0", + "description": "Fetch the email content of a payment reminder for an invoice.\n\nUse this tool to obtain the email content for a payment reminder associated with a specific invoice. Ideal for scenarios where you need to preview or edit reminder emails before sending.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID for the organization within Zoho Books for which the payment reminder email content is being fetched.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific invoice to fetch the reminder email content.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_payment_reminder_mail_content_for_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetPaymentReminderEmailContent", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetProjectComments", + "qualifiedName": "ZohoBooksApi.GetProjectComments", + "fullyQualifiedName": "ZohoBooksApi.GetProjectComments@1.0.0", + "description": "Retrieve comments for a specified project.\n\nUse this tool to get detailed comments for a specified project by providing the project ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization to fetch project comments for.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the project to fetch comments for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_project_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetProjectComments", + "parameters": { + "organization_identifier": { + "value": "org_123456789", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "proj_987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetProjectDetails", + "qualifiedName": "ZohoBooksApi.GetProjectDetails", + "fullyQualifiedName": "ZohoBooksApi.GetProjectDetails@1.0.0", + "description": "Retrieve detailed information of a specific project by ID.\n\nCall this tool to fetch details about a specific project using its ID. Useful for obtaining comprehensive project information.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve project details.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the project to retrieve detailed information.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetProjectDetails", + "parameters": { + "organization_identifier": { + "value": "60000000000", + "type": "string", + "required": true + }, + "project_unique_identifier": { + "value": "proj_4f7a9b2c", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetProjectTasks", + "qualifiedName": "ZohoBooksApi.GetProjectTasks", + "fullyQualifiedName": "ZohoBooksApi.GetProjectTasks@1.0.0", + "description": "Retrieve a list of tasks for a specified project.\n\nUse this tool to obtain a list of tasks added to a specific project in Zoho Books. It should be called when you need detailed task information for project management or oversight.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This is required to specify which organization's project tasks to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the project to fetch tasks.", + "enum": null, + "inferrable": true + }, + { + "name": "fetch_page_number", + "type": "integer", + "required": false, + "description": "The page number of results to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of task records to fetch per page. Defaults to 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_tasks'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetProjectTasks", + "parameters": { + "organization_id": { + "value": "600123456789012345", + "type": "string", + "required": true + }, + "project_unique_id": { + "value": "proj_9a8b7c6d5e4f3g2h", + "type": "string", + "required": true + }, + "fetch_page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetProjectUserDetails", + "qualifiedName": "ZohoBooksApi.GetProjectUserDetails", + "fullyQualifiedName": "ZohoBooksApi.GetProjectUserDetails@1.0.0", + "description": "Fetch details of a user within a project in Zoho Books.\n\nUse this tool to obtain information about a specific user's involvement in a particular project in Zoho Books. It is ideal for checking user roles or assignments within a project.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This is required to fetch the user details associated with the specified project.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the project in Zoho Books to fetch user details from.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the user within the project. Required to fetch user-specific details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetProjectUserDetails", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "proj_987654321", + "type": "string", + "required": true + }, + "user_identifier": { + "value": "user_54321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPurchaseOrderComments", + "qualifiedName": "ZohoBooksApi.GetPurchaseOrderComments", + "fullyQualifiedName": "ZohoBooksApi.GetPurchaseOrderComments@1.0.0", + "description": "Retrieve comments and history of a purchase order.\n\nFetches the complete history and comments of a specified purchase order, useful for tracking and reviewing order details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization to retrieve purchase order comments for. Required to specify which organization's data to access.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific purchase order to retrieve comments and history.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_purchase_order_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetPurchaseOrderComments", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-2026-00042", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPurchaseOrderEmailContent", + "qualifiedName": "ZohoBooksApi.GetPurchaseOrderEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetPurchaseOrderEmailContent@1.0.0", + "description": "Retrieves the email content of a purchase order.\n\nUse this tool to get the email content related to a specific purchase order by providing its ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization to retrieve the purchase order email content for.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to retrieve its email content.", + "enum": null, + "inferrable": true + }, + { + "name": "email_template_id", + "type": "string", + "required": false, + "description": "Get the email content based on a specific email template. Defaults to customer-associated or default template if not provided.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_purchase_order_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetPurchaseOrderEmailContent", + "parameters": { + "organization_id": { + "value": "678901234", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-2026-000123", + "type": "string", + "required": true + }, + "email_template_id": { + "value": "ET-4501", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPurchaseOrderTemplates", + "qualifiedName": "ZohoBooksApi.GetPurchaseOrderTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetPurchaseOrderTemplates@1.0.0", + "description": "Retrieve all purchase order PDF templates from Zoho Books.\n\nThis tool is used to obtain a list of all available purchase order PDF templates in Zoho Books. It should be called when there's a need to view or select from existing purchase order templates.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for retrieving purchase order templates.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_purchase_order_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetPurchaseOrderTemplates", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringBillDetails", + "qualifiedName": "ZohoBooksApi.GetRecurringBillDetails", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringBillDetails@1.0.0", + "description": "Retrieve details of a recurring bill from Zoho Books.\n\nThis tool retrieves comprehensive details of a specified recurring bill using its ID. It should be called when detailed information about a recurring bill is required from Zoho Books.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring bill in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringBillDetails", + "parameters": { + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": true + }, + "recurring_bill_unique_id": { + "value": "recurring_bill_12345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringBillHistory", + "qualifiedName": "ZohoBooksApi.GetRecurringBillHistory", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringBillHistory@1.0.0", + "description": "Get history and comments of a recurring bill.\n\nUse this tool to fetch detailed history and comments related to a specific recurring bill by providing the recurring bill ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which you want to get the recurring bill history.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific recurring bill. Required to fetch its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_bill_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringBillHistory", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "recurring_bill_identifier": { + "value": "RB-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringExpenseDetails", + "qualifiedName": "ZohoBooksApi.GetRecurringExpenseDetails", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringExpenseDetails@1.0.0", + "description": "Get details of a specific recurring expense in Zoho Books.\n\nUse this tool to retrieve information about a particular recurring expense by providing its ID. Helpful for managing or reviewing ongoing expense details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization to retrieve its specific recurring expense details from Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring expense to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringExpenseDetails", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "recurring_expense_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringExpenseHistory", + "qualifiedName": "ZohoBooksApi.GetRecurringExpenseHistory", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringExpenseHistory@1.0.0", + "description": "Get history and comments of a recurring expense.\n\nUse this tool to retrieve the history and comments associated with a specific recurring expense in Zoho Books. Call this tool when you need detailed information about past actions and notes on a recurring expense item.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the recurring expense history is requested.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific recurring expense to retrieve history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_expense_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringExpenseHistory", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "recurring_expense_id": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringInvoiceDetails", + "qualifiedName": "ZohoBooksApi.GetRecurringInvoiceDetails", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringInvoiceDetails@1.0.0", + "description": "Retrieve details of a specific recurring invoice.\n\nUse this tool to access detailed information about a recurring invoice using its ID. It's useful for financial tracking and management purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to access organization-specific data.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring invoice to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringInvoiceDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "recurring_invoice_identifier": { + "value": "RINV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringInvoiceHistory", + "qualifiedName": "ZohoBooksApi.GetRecurringInvoiceHistory", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringInvoiceHistory@1.0.0", + "description": "Get the complete history and comments of a recurring invoice.\n\nUse this tool to retrieve detailed history and comment logs for a specific recurring invoice. Ideal for reviewing past transactions and communication related to an invoice.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization. Required to access invoice history.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific recurring invoice to retrieve its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_invoice_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringInvoiceHistory", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "recurring_invoice_id": { + "value": "RINV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRetainerInvoiceAttachment", + "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceAttachment", + "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceAttachment@1.0.0", + "description": "Retrieve the file attached to a retainer invoice.\n\nUse this tool to get the file that has been attached to a specific retainer invoice. It is helpful when you need to view or download the attached document related to the invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose invoice attachment you want to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice for which the attachment is to be retrieved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_retainer_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRetainerInvoiceAttachment", + "parameters": { + "organization_id": { + "value": "60000000001", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "70000000001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRetainerInvoiceDetails", + "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceDetails", + "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceDetails@1.0.0", + "description": "Retrieve details of a specific retainer invoice.\n\nUse this tool to obtain details about a retainer invoice by specifying the invoice ID. Ideal for checking invoice status, amount, and related information.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization to retrieve the retainer invoice for.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to retrieve details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRetainerInvoiceDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRetainerInvoiceHistory", + "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceHistory", + "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceHistory@1.0.0", + "description": "Get the history and comments of a retainer invoice.\n\nFetches complete history and comments for a specific retainer invoice by ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to fetch its retainer invoice history.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to look up its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRetainerInvoiceHistory", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRetainerInvoiceTemplates", + "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceTemplates@1.0.0", + "description": "Retrieve all retainer invoice PDF templates.\n\nCall this tool to get a list of all available retainer invoice PDF templates from Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve retainer invoice templates from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_retainer_invoice_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRetainerInvoiceTemplates", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderAttachment", + "qualifiedName": "ZohoBooksApi.GetSalesOrderAttachment", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderAttachment@1.0.0", + "description": "Retrieve the file attached to a specific sales order.\n\nUse this tool to get the file attached to a sales order in Zoho Books by providing the sales order ID. It returns the file associated with the specified order.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to retrieve the attachment for.", + "enum": null, + "inferrable": true + }, + { + "name": "require_preview_of_sales_order", + "type": "boolean", + "required": false, + "description": "Specify whether a preview of the Sales Order is required. Use True for preview, False for no preview.", + "enum": null, + "inferrable": true + }, + { + "name": "require_inline_response", + "type": "boolean", + "required": false, + "description": "Set to true if an inline response is needed, displaying directly in the browser.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_sales_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderAttachment", + "parameters": { + "organization_id": { + "value": "65987432123456789", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-1001", + "type": "string", + "required": true + }, + "require_preview_of_sales_order": { + "value": true, + "type": "boolean", + "required": false + }, + "require_inline_response": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderComments", + "qualifiedName": "ZohoBooksApi.GetSalesOrderComments", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderComments@1.0.0", + "description": "Retrieve the history and comments of a sales order.\n\nUse this tool to obtain all comments and the complete history associated with a specific sales order when needing detailed insights or updates.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which to retrieve sales order comments.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to retrieve comments and history for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_sales_order_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderComments", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderDetails", + "qualifiedName": "ZohoBooksApi.GetSalesOrderDetails", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderDetails@1.0.0", + "description": "Retrieve details of a specific sales order.\n\nThis tool is used to get the details of a sales order from Zoho Books. It should be called when there's a need to look up information about a particular sales order, such as for verification or record-keeping purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This ID is used to specify the organization within Zoho Books whose sales order details need to be retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order required to retrieve its details.", + "enum": null, + "inferrable": true + }, + { + "name": "output_format", + "type": "string", + "required": false, + "description": "Specifies the format in which to receive the sales order details. Options include: json, csv, xml, xls, xlsx, pdf, jhtml, and html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to print the exported PDF of the sales order, otherwise false.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderDetails", + "parameters": { + "organization_id": { + "value": "1234567890abcdef", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-2026-00058", + "type": "string", + "required": true + }, + "output_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderEmailContent", + "qualifiedName": "ZohoBooksApi.GetSalesOrderEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderEmailContent@1.0.0", + "description": "Retrieve email content for a specific sales order.\n\nThis tool is used to get the email content associated with a particular sales order, identified by its sales order ID. Use it when you need to view or analyze the email details of a sales order in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books for which the sales order email content is required.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to retrieve its email content.", + "enum": null, + "inferrable": true + }, + { + "name": "email_template_id", + "type": "string", + "required": false, + "description": "Optional. ID of the email template for retrieving specific email content. If not provided, defaults will be used.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_sales_order_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderEmailContent", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-100234", + "type": "string", + "required": true + }, + "email_template_id": { + "value": "ET-501", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderTemplates", + "qualifiedName": "ZohoBooksApi.GetSalesOrderTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderTemplates@1.0.0", + "description": "Retrieve all sales order PDF templates from Zoho Books.\n\nUse this tool to get a list of all available sales order PDF templates in Zoho Books. This is helpful when you need to view or manage your sales order templates.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "A string representing the ID of the organization. Required to specify which organization's sales order templates to retrieve.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_sales_order_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderTemplates", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesReceiptDetails", + "qualifiedName": "ZohoBooksApi.GetSalesReceiptDetails", + "fullyQualifiedName": "ZohoBooksApi.GetSalesReceiptDetails@1.0.0", + "description": "Retrieve the details of a sales receipt.\n\nThis tool fetches the specific details of a sales receipt using the provided sales receipt ID. It should be called when detailed information about a particular sales receipt is needed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization for which the sales receipt is being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_receipt_id", + "type": "string", + "required": true, + "description": "The unique identifier for the sales receipt to be retrieved. Required for fetching the specific sales receipt details.", + "enum": null, + "inferrable": true + }, + { + "name": "output_format", + "type": "string", + "required": false, + "description": "Specifies the format in which to retrieve the sales receipt details. Options are 'json', 'pdf', or 'html'. Default is 'json'.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesReceiptDetails", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "sales_receipt_id": { + "value": "SR-00012345", + "type": "string", + "required": true + }, + "output_format": { + "value": "json", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaskDetails", + "qualifiedName": "ZohoBooksApi.GetTaskDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTaskDetails@1.0.0", + "description": "Retrieve detailed information about a specific task in a project.\n\nThis tool should be called to obtain comprehensive details about a particular task within a project. It helps in understanding task specifics by providing relevant task data from Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "project_id", + "type": "string", + "required": true, + "description": "Unique identifier of the project.", + "enum": null, + "inferrable": true + }, + { + "name": "task_unique_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the task to retrieve details for from Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_task'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaskDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "project_id": { + "value": "987654321", + "type": "string", + "required": true + }, + "task_unique_identifier": { + "value": "task_abc123def", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxAuthorities", + "qualifiedName": "ZohoBooksApi.GetTaxAuthorities", + "fullyQualifiedName": "ZohoBooksApi.GetTaxAuthorities@1.0.0", + "description": "Retrieve the list of tax authorities.\n\nUse this tool to obtain a list of all tax authorities, which can be helpful for managing tax-related settings or compliance.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which to retrieve tax authorities.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_tax_authorities'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxAuthorities", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxAuthorityDetails", + "qualifiedName": "ZohoBooksApi.GetTaxAuthorityDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTaxAuthorityDetails@1.0.0", + "description": "Retrieve details of a specific tax authority.\n\nUse this tool to obtain information about a tax authority by providing its unique ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization to retrieve tax authority details.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_authority_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the tax authority to retrieve details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_tax_authority'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxAuthorityDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "tax_authority_unique_id": { + "value": "TA-9f8b7c6d-1234", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxDetails", + "qualifiedName": "ZohoBooksApi.GetTaxDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTaxDetails@1.0.0", + "description": "Retrieve the details of a specific tax.\n\nUse this tool to obtain information about a specific simple or compound tax by providing the tax ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization to retrieve tax details from.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for retrieving specific tax details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_tax'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxDetails", + "parameters": { + "organization_id": { + "value": "672312345", + "type": "string", + "required": true + }, + "tax_identifier": { + "value": "TAX_001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxExemptionDetails", + "qualifiedName": "ZohoBooksApi.GetTaxExemptionDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTaxExemptionDetails@1.0.0", + "description": "Retrieve the details of a tax exemption using its ID.\n\nThis tool retrieves details about a specific tax exemption identified by its ID. It is useful for understanding exemption specifics within financial settings.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to access the organization's tax exemption details.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_exemption_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the tax exemption to retrieve details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_tax_exemption'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxExemptionDetails", + "parameters": { + "organization_id": { + "value": "5794387654321", + "type": "string", + "required": true + }, + "tax_exemption_identifier": { + "value": "TXEXMPT-2024-001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxExemptionsList", + "qualifiedName": "ZohoBooksApi.GetTaxExemptionsList", + "fullyQualifiedName": "ZohoBooksApi.GetTaxExemptionsList@1.0.0", + "description": "Retrieve a list of tax exemptions from Zoho Books.\n\nCall this tool to get information about the current tax exemptions available in Zoho Books. It provides details on all tax exemptions configured in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose tax exemptions are being requested.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_tax_exemptions'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxExemptionsList", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTimeEntryDetails", + "qualifiedName": "ZohoBooksApi.GetTimeEntryDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTimeEntryDetails@1.0.0", + "description": "Retrieve details of a specific time entry.\n\nUse this tool to get detailed information about a specific time entry by providing the time entry ID. It's useful for tracking and managing project time entries.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the time entry details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "time_entry_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the time entry to retrieve details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_time_entry'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTimeEntryDetails", + "parameters": { + "organization_id": { + "value": "1000000001", + "type": "string", + "required": true + }, + "time_entry_identifier": { + "value": "TE-789123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetUserDetails", + "qualifiedName": "ZohoBooksApi.GetUserDetails", + "fullyQualifiedName": "ZohoBooksApi.GetUserDetails@1.0.0", + "description": "Retrieve detailed information about a specific user in Zoho Books.\n\nThis tool fetches the details of a user from Zoho Books using their user ID. It should be called when user information such as name, email, or role is required.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This is required to specify the organization context for API calls.", + "enum": null, + "inferrable": true + }, + { + "name": "user_unique_identifier", + "type": "string", + "required": true, + "description": "A unique string that identifies the user in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetUserDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "user_unique_identifier": { + "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorCreditComments", + "qualifiedName": "ZohoBooksApi.GetVendorCreditComments", + "fullyQualifiedName": "ZohoBooksApi.GetVendorCreditComments@1.0.0", + "description": "Retrieve history and comments for a vendor credit.\n\nUse this tool to get the history and comments associated with a specific vendor credit by providing the vendor credit ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization. This ID is required to access the vendor credit comments.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the specific vendor credit to retrieve its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_credit_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorCreditComments", + "parameters": { + "organization_id": { + "value": "60000000001", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorCreditDetails", + "qualifiedName": "ZohoBooksApi.GetVendorCreditDetails", + "fullyQualifiedName": "ZohoBooksApi.GetVendorCreditDetails@1.0.0", + "description": "Retrieve details of a specific vendor credit.\n\nUse this tool to obtain detailed information about a vendor credit by providing the specific vendor credit ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose vendor credit details are being requested.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to retrieve details.", + "enum": null, + "inferrable": true + }, + { + "name": "output_format", + "type": "string", + "required": false, + "description": "Specify the format for vendor credit details. Options: json, xml, csv, xls, pdf, html, jhtml. Default is html.", + "enum": null, + "inferrable": true + }, + { + "name": "export_vendor_credit_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to export the vendor credit as a PDF with default print options. Accepts 'true', 'false', 'on', 'off'.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorCreditDetails", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "vendor_credit_id": { + "value": "VC-1001", + "type": "string", + "required": true + }, + "output_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "export_vendor_credit_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorCreditRefund", + "qualifiedName": "ZohoBooksApi.GetVendorCreditRefund", + "fullyQualifiedName": "ZohoBooksApi.GetVendorCreditRefund@1.0.0", + "description": "Retrieve a refund for a specific vendor credit.\n\nFetches details of a refund associated with a specific vendor credit using the vendor credit ID and refund ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization to which the vendor credit belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to retrieve the refund details.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit refund for the specific transaction. Required to retrieve refund details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_credit_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorCreditRefund", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-1001", + "type": "string", + "required": true + }, + "vendor_credit_refund_id": { + "value": "REFUND-00042", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorPaymentEmailContent", + "qualifiedName": "ZohoBooksApi.GetVendorPaymentEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetVendorPaymentEmailContent@1.0.0", + "description": "Retrieve email content for a vendor payment receipt.\n\nThis tool retrieves the pre-filled email details for a vendor payment, including the message subject, body, recipients, sender, and attachments. Use it to easily compose and send a payment receipt email to vendors.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to retrieve the vendor payment email content.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_id", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor payment to retrieve email content.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_payment_email_content'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorPaymentEmailContent", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "vendor_payment_id": { + "value": "VPAY-9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorPaymentRefundDetails", + "qualifiedName": "ZohoBooksApi.GetVendorPaymentRefundDetails", + "fullyQualifiedName": "ZohoBooksApi.GetVendorPaymentRefundDetails@1.0.0", + "description": "Retrieve details of a specific vendor payment refund.\n\nUse this tool to obtain information about a particular refund of a vendor payment, identified by the payment ID and refund ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization whose vendor payment refund details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the payment associated with the vendor refund.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor payment refund to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorPaymentRefundDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "PAY-2026-0001", + "type": "string", + "required": true + }, + "vendor_payment_refund_id": { + "value": "REF-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ImportBankStatements", + "qualifiedName": "ZohoBooksApi.ImportBankStatements", + "fullyQualifiedName": "ZohoBooksApi.ImportBankStatements@1.0.0", + "description": "Import bank or credit card feeds into your account.\n\n Use this tool to import bank or credit card statements directly into your account for seamless financial management. This should be called when you need to process new bank or credit card data into the system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to import bank statements for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'import_bank_statements'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ImportBankStatements", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"bank_account_id\":\"BA-987654\",\"file_name\":\"statement_jan2026.csv\",\"file_format\":\"CSV\",\"file_content_base64\":\"VGhpcyBpcyBhIHNhbXBsZSBmaWxlIGNvbnRlbnQ=\",\"date_format\":\"dd/MM/yyyy\",\"currency\":\"USD\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ImportCrmProductToZohoBooks", + "qualifiedName": "ZohoBooksApi.ImportCrmProductToZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.ImportCrmProductToZohoBooks@1.0.0", + "description": "Import a product from Zoho CRM to Zoho Books.\n\nUse this tool to import an item from Zoho CRM into Zoho Books by specifying its CRM product ID. This enables synchronization of product data between the two services.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. This is required to import products from Zoho CRM.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_product_id", + "type": "string", + "required": true, + "description": "Unique identifier of the Zoho CRM product to be imported into Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint ''." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ImportCrmProductToZohoBooks", + "parameters": { + "organization_identifier": { + "value": "36987451234567890", + "type": "string", + "required": true + }, + "crm_product_id": { + "value": "347812345678901234", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ImportCustomerFromCrm", + "qualifiedName": "ZohoBooksApi.ImportCustomerFromCrm", + "fullyQualifiedName": "ZohoBooksApi.ImportCustomerFromCrm@1.0.0", + "description": "Import a customer from Zoho CRM to Zoho Books using CRM account ID.\n\nUse this tool to import a customer from Zoho CRM into Zoho Books by providing the CRM account ID. This requires integration between Zoho Books and Zoho CRM either through Accounts and Contacts sync or Accounts only sync.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_account_id", + "type": "string", + "required": true, + "description": "Unique identifier of the Zoho CRM account to import the customer from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'import_customer_using_crm_account_id'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ImportCustomerFromCrm", + "parameters": { + "organization_id": { + "value": "20001234567", + "type": "string", + "required": true + }, + "crm_account_id": { + "value": "749012345678901234", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ImportVendorFromCrm", + "qualifiedName": "ZohoBooksApi.ImportVendorFromCrm", + "fullyQualifiedName": "ZohoBooksApi.ImportVendorFromCrm@1.0.0", + "description": "Import a vendor from Zoho CRM to Zoho Books using CRM vendor ID.\n\nUse this tool to import a vendor from Zoho CRM to Zoho Books via Vendor-only sync, requiring the CRM vendor ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books for which the vendor is being imported. This ID is used to specify the target organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "zoho_crm_vendor_id", + "type": "string", + "required": true, + "description": "Unique identifier of the Zoho CRM vendor to import.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'import_vendor_using_crm_vendor_id'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ImportVendorFromCrm", + "parameters": { + "organization_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "zoho_crm_vendor_id": { + "value": "CRMVENDOR_0012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "InviteUserToProject", + "qualifiedName": "ZohoBooksApi.InviteUserToProject", + "fullyQualifiedName": "ZohoBooksApi.InviteUserToProject@1.0.0", + "description": "Invite a user to a project in Zoho Books.\n\n Use this tool to send an invitation to a user to join a specific project in Zoho Books. This is helpful when you need to collaborate with others by adding them to project teams.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books where the project is located. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the project in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'invite_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.InviteUserToProject", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "project_unique_identifier": { + "value": "proj_abcdef123456", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"project_user\":{\"email\":\"jane.doe@example.com\",\"role\":\"collaborator\",\"send_invite\":true,\"message\":\"Please join the project to collaborate on tasks.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListAccountTransactions", + "qualifiedName": "ZohoBooksApi.ListAccountTransactions", + "fullyQualifiedName": "ZohoBooksApi.ListAccountTransactions@1.0.0", + "description": "Retrieve transactions for a specified account.\n\nUse this tool to list all transactions associated with a given account. Ideal for tracking financial activities related to specific accounts.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization whose account transactions are being queried.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id", + "type": "string", + "required": true, + "description": "The unique ID of the account to retrieve transactions for.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_date_range", + "type": "string", + "required": false, + "description": "Specify a date range for searching transactions. Use 'yyyy-mm-dd' format. Supports 'date.start', 'date.end', 'date.before', and 'date.after'.", + "enum": null, + "inferrable": true + }, + { + "name": "amount_range", + "type": "number", + "required": false, + "description": "Specify the amount range to filter account transactions. Use fields like less_than, less_equals, greater_than, and greater_equals to define the criteria.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_account_type", + "type": "string", + "required": false, + "description": "Filter accounts based on account type and status. Options: AccountType.All, AccountType.Active, AccountType.Inactive, AccountType.Asset, AccountType.Liability, AccountType.Equity, AccountType.Income, AccountType.Expense.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_type", + "type": "string", + "required": false, + "description": "Filter transactions by type, such as 'invoice', 'expense', or 'refund'.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by", + "type": "string", + "required": false, + "description": "Specify the column to sort transactions. Possible values: 'account_name', 'account_type'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to be fetched for the transaction list. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. Default is 200. Specify a custom integer to override.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_chart_of_account_transactions'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListAccountTransactions", + "parameters": { + "organization_id": { + "value": "6723456789", + "type": "string", + "required": true + }, + "account_id": { + "value": "A-987654321", + "type": "string", + "required": true + }, + "transaction_date_range": { + "value": "date.start:2025-01-01,date.end:2025-01-31", + "type": "string", + "required": false + }, + "amount_range": { + "value": { + "greater_than": 100, + "less_than": 1000 + }, + "type": "integer", + "required": false + }, + "filter_by_account_type": { + "value": "AccountType.Active", + "type": "string", + "required": false + }, + "transaction_type": { + "value": "expense", + "type": "string", + "required": false + }, + "sort_by": { + "value": "account_name", + "type": "string", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListActiveInventoryItems", + "qualifiedName": "ZohoBooksApi.ListActiveInventoryItems", + "fullyQualifiedName": "ZohoBooksApi.ListActiveInventoryItems@1.0.0", + "description": "Retrieve a paginated list of all active inventory items.\n\nUse this tool to fetch a list of all active items from the inventory. It provides the data with pagination to manage large sets of items efficiently.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to fetch items from.", + "enum": null, + "inferrable": true + }, + { + "name": "item_name_search", + "type": "string", + "required": false, + "description": "Search for items by name using prefixes 'name_startswith' or 'name_contains'. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "description_filter", + "type": "string", + "required": false, + "description": "Search items by description. Use keywords or phrases up to 100 characters. Prefix with 'description_startswith' or 'description_contains' for specific filtering.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_rate_criteria", + "type": "string", + "required": false, + "description": "Specify rate conditions to filter items. Use format like 'rate_less_than:100'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_tax_id", + "type": "string", + "required": false, + "description": "Search for items using the tax ID as a filter.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_name_filter", + "type": "string", + "required": false, + "description": "Filter items by their tax name.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_exemption_identifier", + "type": "string", + "required": false, + "description": "ID for the tax exemption. Required if is_taxable is false.", + "enum": null, + "inferrable": true + }, + { + "name": "associated_account_id", + "type": "string", + "required": false, + "description": "ID of the account to associate the item with.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_items_by_status", + "type": "string", + "required": false, + "description": "Filter items by status. Allowed values are 'Status.All', 'Status.Active', and 'Status.Inactive'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_items_by_text", + "type": "string", + "required": false, + "description": "Search for items by name or description, up to 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_items_by", + "type": "string", + "required": false, + "description": "Specify the attribute to sort items by. Allowed values: 'name', 'rate', 'tax_name'.", + "enum": null, + "inferrable": true + }, + { + "name": "sat_item_key_code", + "type": "string", + "required": false, + "description": "SAT Item key code used to filter items. Provide a valid string key code for lookup.", + "enum": null, + "inferrable": true + }, + { + "name": "sat_unit_code", + "type": "string", + "required": false, + "description": "SAT Unit code for specific inventory items. Used to search or filter items based on their unit code.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "The page number of active items to retrieve, with a default of 1 if unspecified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + }, + { + "name": "is_item_taxable", + "type": "boolean", + "required": false, + "description": "Boolean indicating if the item is taxable. True means the item is taxable.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_items'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListActiveInventoryItems", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "item_name_search": { + "value": "name_startswith:Widget", + "type": "string", + "required": false + }, + "description_filter": { + "value": "description_contains:stainless steel", + "type": "string", + "required": false + }, + "search_by_rate_criteria": { + "value": "rate_less_than:100", + "type": "string", + "required": false + }, + "search_by_tax_id": { + "value": "TX-1001", + "type": "string", + "required": false + }, + "tax_name_filter": { + "value": "GST", + "type": "string", + "required": false + }, + "tax_exemption_identifier": { + "value": "", + "type": "string", + "required": false + }, + "associated_account_id": { + "value": "acct_5555", + "type": "string", + "required": false + }, + "filter_items_by_status": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "search_items_by_text": { + "value": "stainless", + "type": "string", + "required": false + }, + "sort_items_by": { + "value": "name", + "type": "string", + "required": false + }, + "sat_item_key_code": { + "value": "01010101", + "type": "string", + "required": false + }, + "sat_unit_code": { + "value": "H87", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + }, + "is_item_taxable": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListAllBills", + "qualifiedName": "ZohoBooksApi.ListAllBills", + "fullyQualifiedName": "ZohoBooksApi.ListAllBills@1.0.0", + "description": "Retrieve all bills with pagination support.\n\nThis tool is used to list all bills available in the system, providing pagination information to navigate through large datasets. It should be called whenever there's a need to view or analyze billing details over multiple pages.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's bills to list.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_bill_number", + "type": "string", + "required": false, + "description": "Filter bills using the bill number. Use exact matches, prefix with 'bill_number_startswith', or substring with 'bill_number_contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_reference_number", + "type": "string", + "required": false, + "description": "Filter bills by reference number. Supports exact matches, prefix matching using `reference_number_startswith`, and substring matching using `reference_number_contains`. Useful for finding bills by external references or vendor invoice numbers.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_date_filter", + "type": "string", + "required": false, + "description": "Filter bills by bill date in YYYY-MM-DD format. Use for specific dates, date ranges (date_start/date_end), or relative dates (date_before/date_after).", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_status", + "type": "string", + "required": false, + "description": "Specify the status of bills to filter by. Options include 'paid', 'open', 'overdue', 'void', or 'partially_paid'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_description_text", + "type": "string", + "required": false, + "description": "Filter bills using description text. Supports exact matches, prefix matching with 'description_startswith', or substring matching with 'description_contains'. Useful for finding bills by line item descriptions or vendor notes.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_vendor_name", + "type": "string", + "required": false, + "description": "Filter bills by vendor name. Use prefix matching with 'vendor_name_startswith' or substring matching with 'vendor_name_contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_total_amount", + "type": "number", + "required": false, + "description": "Filter bills by total amount using conditions like less than, greater than, etc. Specify conditions using keys like 'total_less_than' or 'total_greater_than'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_vendor_id", + "type": "integer", + "required": false, + "description": "Unique identifier to filter bills by a specific vendor, retrieving all related bills.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "integer", + "required": false, + "description": "Filter bills by a specific item ID. Retrieves all bills containing a particular product or service item based on its unique identifier.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "integer", + "required": false, + "description": "Filter bills by a specific recurring bill ID to retrieve all bills generated from a recurring template or schedule.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_purchase_order_id", + "type": "integer", + "required": false, + "description": "Specify the Purchase Order ID to filter bills associated with a specific order. Helps track procurement workflows.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_last_modified_time", + "type": "string", + "required": false, + "description": "Filter bills by last modification timestamp using ISO 8601 format (YYYY-MM-DDTHH:MM:SS+/-HHMM) to find bills modified at or after a specific time.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_status_filter", + "type": "string", + "required": false, + "description": "Filter bills by status. Options: Status.All, Status.PartiallyPaid, Status.Paid, Status.Overdue, Status.Void, Status.Open.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Filter bills using general text across bill number, reference number, and vendor name to find matches. Useful for quick searches.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number for pagination to navigate multiple pages of bills.", + "enum": null, + "inferrable": true + }, + { + "name": "bills_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of bills to retrieve per page. Default is 200, but adjustable for performance needs and rate limits.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort bills by. Available options: vendor_name, bill_number, date, due_date, total, balance, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "sorting_order", + "type": "string", + "required": false, + "description": "Specify the sort order for bills: 'A' for ascending, 'D' for descending.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bills'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListAllBills", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "filter_by_bill_number": { + "value": "bill_number_startswith:INV-2026-", + "type": "string", + "required": false + }, + "filter_by_reference_number": { + "value": "reference_number_contains:PO-2026-", + "type": "string", + "required": false + }, + "bill_date_filter": { + "value": "date_start:2026-01-01,date_end:2026-01-31", + "type": "string", + "required": false + }, + "filter_by_status": { + "value": "open", + "type": "string", + "required": false + }, + "filter_by_description_text": { + "value": "description_contains:office supplies", + "type": "string", + "required": false + }, + "filter_by_vendor_name": { + "value": "vendor_name_contains:Acme", + "type": "string", + "required": false + }, + "filter_by_total_amount": { + "value": 1000, + "type": "integer", + "required": false + }, + "filter_by_vendor_id": { + "value": 789, + "type": "integer", + "required": false + }, + "filter_by_item_id": { + "value": 456, + "type": "integer", + "required": false + }, + "recurring_bill_identifier": { + "value": 321, + "type": "integer", + "required": false + }, + "filter_by_purchase_order_id": { + "value": 654, + "type": "integer", + "required": false + }, + "filter_by_last_modified_time": { + "value": "2026-02-01T00:00:00+0000", + "type": "string", + "required": false + }, + "bill_status_filter": { + "value": "Status.Open", + "type": "string", + "required": false + }, + "search_text": { + "value": "ACME Invoice", + "type": "string", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "bills_per_page": { + "value": 100, + "type": "integer", + "required": false + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "sorting_order": { + "value": "D", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListBankAccounts", + "qualifiedName": "ZohoBooksApi.ListBankAccounts", + "fullyQualifiedName": "ZohoBooksApi.ListBankAccounts@1.0.0", + "description": "List all bank and credit card accounts for your organization.\n\nUse this tool to retrieve all bank and credit card accounts associated with your organization in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This is required to list all associated bank and credit card accounts in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "account_status_filter", + "type": "string", + "required": false, + "description": "Specify the status to filter accounts: 'Status.All', 'Status.Active', or 'Status.Inactive'.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by", + "type": "string", + "required": false, + "description": "Specify the sorting criterion for the accounts. Options: 'account_name', 'account_type', 'account_code'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number of results to retrieve. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. Default value is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bank_accounts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListBankAccounts", + "parameters": { + "organization_id": { + "value": "6001234567890", + "type": "string", + "required": true + }, + "account_status_filter": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "sort_by": { + "value": "account_name", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListBaseCurrencyAdjustments", + "qualifiedName": "ZohoBooksApi.ListBaseCurrencyAdjustments", + "fullyQualifiedName": "ZohoBooksApi.ListBaseCurrencyAdjustments@1.0.0", + "description": "Fetch base currency adjustments list from Zoho Books.\n\nThis tool retrieves a list of base currency adjustments from Zoho Books. Call this tool when you need to obtain current base currency adjustments for accounting or financial reporting purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve currency adjustments from.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_date", + "type": "string", + "required": false, + "description": "Filter the base currency adjustment list by specific date ranges. Allowed values are: Date.All, Date.Today, Date.ThisWeek, Date.ThisMonth, Date.ThisQuarter, Date.ThisYear.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_currency_adjustment_list_by", + "type": "string", + "required": false, + "description": "Specify the sorting criterion for the currency adjustment list. Options include: adjustment_date, exchange_rate, currency_code, debit_or_credit, or gain_or_loss.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_modified_time", + "type": "string", + "required": false, + "description": "Use a timestamp to filter adjustments by their last modified time.", + "enum": null, + "inferrable": true + }, + { + "name": "fetch_page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_base_currency_adjustments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListBaseCurrencyAdjustments", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "filter_by_date": { + "value": "Date.ThisMonth", + "type": "string", + "required": false + }, + "sort_currency_adjustment_list_by": { + "value": "adjustment_date", + "type": "string", + "required": false + }, + "search_by_last_modified_time": { + "value": "2026-02-01T00:00:00Z", + "type": "string", + "required": false + }, + "fetch_page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListBillsWithVendorCredit", + "qualifiedName": "ZohoBooksApi.ListBillsWithVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.ListBillsWithVendorCredit@1.0.0", + "description": "List bills with applied vendor credit from a vendor credit ID.\n\nFetch a list of bills where a specific vendor credit has been applied. Use this tool to understand how vendor credits are distributed across bills.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to fetch applicable bills for vendor credit.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to list the applied bills.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bills_credited'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListBillsWithVendorCredit", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "vendor_credit_id": { + "value": "VC-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListChartOfAccounts", + "qualifiedName": "ZohoBooksApi.ListChartOfAccounts", + "fullyQualifiedName": "ZohoBooksApi.ListChartOfAccounts@1.0.0", + "description": "Retrieve a list of all chart of accounts.\n\nUse this tool to obtain a complete list of chart of accounts with pagination support. Ideal for financial data management.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve chart of accounts for.", + "enum": null, + "inferrable": true + }, + { + "name": "account_type_filter", + "type": "string", + "required": false, + "description": "Filter accounts based on type and status. Options: AccountType.All, AccountType.Active, AccountType.Inactive, AccountType.Asset, AccountType.Liability, AccountType.Equity, AccountType.Income, AccountType.Expense.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_accounts_by", + "type": "string", + "required": false, + "description": "Specify how to sort the accounts. Options: 'account_name', 'account_type'.", + "enum": null, + "inferrable": true + }, + { + "name": "last_modified_time_filter", + "type": "string", + "required": false, + "description": "Fetch accounts modified since a specific timestamp, formatted as YYYY-MM-DDTHH:MM:SSZ.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to retrieve per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "include_balance", + "type": "boolean", + "required": false, + "description": "Include current account balances in the response when set to true.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_chart_of_accounts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListChartOfAccounts", + "parameters": { + "organization_id": { + "value": "6790123456789012345", + "type": "string", + "required": true + }, + "account_type_filter": { + "value": "AccountType.Active", + "type": "string", + "required": false + }, + "sort_accounts_by": { + "value": "account_name", + "type": "string", + "required": false + }, + "last_modified_time_filter": { + "value": "2026-02-01T00:00:00Z", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + }, + "include_balance": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListChildExpenses", + "qualifiedName": "ZohoBooksApi.ListChildExpenses", + "fullyQualifiedName": "ZohoBooksApi.ListChildExpenses@1.0.0", + "description": "Retrieve child expenses from a recurring expense.\n\nUse this tool to list expenses that have been generated from a specific recurring expense. Useful for tracking individual instances of a recurring cost.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to list child expenses for.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring expense to retrieve child expenses.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_expenses_by", + "type": "string", + "required": false, + "description": "Specify the field to sort expenses. Valid options: next_expense_date, account_name, total, last_created_date, recurrence_name, customer_name, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "fetch_page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of expense records to retrieve per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_child_expenses_of_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListChildExpenses", + "parameters": { + "organization_id": { + "value": "987654321", + "type": "string", + "required": true + }, + "recurring_expense_identifier": { + "value": "RECURRING_EXP_001", + "type": "string", + "required": true + }, + "sort_expenses_by": { + "value": "next_expense_date", + "type": "string", + "required": false + }, + "fetch_page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCompanyEmployees", + "qualifiedName": "ZohoBooksApi.ListCompanyEmployees", + "fullyQualifiedName": "ZohoBooksApi.ListCompanyEmployees@1.0.0", + "description": "Retrieve a paginated list of all employees.\n\nUse this tool to obtain a list of employees from the company database, including pagination for handling large sets of data. Ideal for getting employee details in an organized manner.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose employees are being listed. This should be provided as a string.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch. Default is 1 for the first page.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of employee records to retrieve per page, with a default of 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_employees'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCompanyEmployees", + "parameters": { + "organization_id": { + "value": "1234567890abcdef", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListConfiguredCurrencies", + "qualifiedName": "ZohoBooksApi.ListConfiguredCurrencies", + "fullyQualifiedName": "ZohoBooksApi.ListConfiguredCurrencies@1.0.0", + "description": "Retrieve the list of configured currencies in Zoho Books.\n\nThis tool retrieves the list of all currencies configured within Zoho Books. Use it when you need to know which currencies are set up in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required to retrieve currency data for a specific organization.", + "enum": null, + "inferrable": true + }, + { + "name": "exclude_base_currency_filter", + "type": "string", + "required": false, + "description": "Set to exclude the base currency from the result. Use 'Currencies.ExcludeBaseCurrency'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number of currency records to fetch. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of currency records to fetch per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_currencies'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListConfiguredCurrencies", + "parameters": { + "organization_id": { + "value": "6791827000000123456", + "type": "string", + "required": true + }, + "exclude_base_currency_filter": { + "value": "Currencies.ExcludeBaseCurrency", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListContactPersons", + "qualifiedName": "ZohoBooksApi.ListContactPersons", + "fullyQualifiedName": "ZohoBooksApi.ListContactPersons@1.0.0", + "description": "Retrieve contact persons for a given contact ID.\n\nUse this tool to list all contact persons associated with a specific contact ID, utilizing pagination.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the contact persons are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the contact to retrieve associated persons.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch when listing contact persons. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specifies the number of contact records to retrieve per page. The default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_contact_persons'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListContactPersons", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "contact_identifier": { + "value": "1000000000001", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCreditNoteInvoices", + "qualifiedName": "ZohoBooksApi.ListCreditNoteInvoices", + "fullyQualifiedName": "ZohoBooksApi.ListCreditNoteInvoices@1.0.0", + "description": "List invoices to which the credit note is applied.\n\nUse this tool to retrieve a list of invoices that are associated with a specific credit note.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which you want to list the invoices associated with the credit note.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve associated invoices.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoices_of_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCreditNoteInvoices", + "parameters": { + "organization_id": { + "value": "600000000000123", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-0001234567", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCreditNoteRefunds", + "qualifiedName": "ZohoBooksApi.ListCreditNoteRefunds", + "fullyQualifiedName": "ZohoBooksApi.ListCreditNoteRefunds@1.0.0", + "description": "Retrieve refunds for a specific credit note.\n\nUse this tool to list all refunds associated with a particular credit note by specifying its ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve credit note refunds for.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve refunds for.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve in paginated results. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "results_per_page", + "type": "integer", + "required": false, + "description": "Number of records to return per page, controlling pagination. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_note_refunds1'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCreditNoteRefunds", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN_1001", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "results_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCreditNotes", + "qualifiedName": "ZohoBooksApi.ListCreditNotes", + "fullyQualifiedName": "ZohoBooksApi.ListCreditNotes@1.0.0", + "description": "Retrieve and filter a list of credit notes.\n\nRetrieve a paginated list of credit notes using filters and sorting based on date, status, amount, customer details, items, taxes, and custom fields.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which you want to list credit notes. Required for identification and retrieval.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_number", + "type": "string", + "required": false, + "description": "Filter credit notes by a specific credit note number. The number must be a unique identifier, up to 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_date", + "type": "string", + "required": false, + "description": "Filter credit notes by the date they were raised. Use yyyy-mm-dd format to search for specific credit notes.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_status", + "type": "string", + "required": false, + "description": "Specify the status to filter credit notes. Options include: 'open', 'closed', 'void', or 'draft'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_total_amount", + "type": "number", + "required": false, + "description": "Filter credit notes by their total amount. Input a specific total value to retrieve matching credit notes.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_reference_number", + "type": "string", + "required": false, + "description": "Filter credit notes by their reference number, limited to 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_name", + "type": "string", + "required": false, + "description": "Filter credit notes by customer name. Use to search for credit notes associated with a specific customer. Max-Length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_name", + "type": "string", + "required": false, + "description": "Search for credit notes by item name. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_id", + "type": "string", + "required": false, + "description": "Search for credit notes associated with a specific customer using the customer ID. Retrieve customer IDs from the contacts API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_description", + "type": "string", + "required": false, + "description": "Filter credit notes by item description. Use 'startswith:' or 'contains:' for flexible matching. Max length of 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "string", + "required": false, + "description": "Filter credit notes by item ID to find notes containing a specific item. Obtain item IDs from the items API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_line_item_id", + "type": "string", + "required": false, + "description": "Search for credit notes containing a specific line item using its ID.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_tax_id", + "type": "string", + "required": false, + "description": "Filter credit notes using a specific tax ID. Retrieve the tax ID from the taxes API.", + "enum": null, + "inferrable": true + }, + { + "name": "status_filter", + "type": "string", + "required": false, + "description": "Filter credit notes by status using predefined values: 'Status.All', 'Status.Open', 'Status.Draft', 'Status.Closed', 'Status.Void'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Search credit notes across multiple fields like credit note number, customer name, and reference number. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_credit_notes_by_column", + "type": "string", + "required": false, + "description": "Specify the column by which to sort the credit notes. Allowed values: 'customer_name', 'creditnote_number', 'balance', 'total', 'date', and 'created_time'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number for pagination. Specify which page of results to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of credit notes to be returned per page for pagination. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_notes'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCreditNotes", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "credit_note_number": { + "value": "CN-2026-0001", + "type": "string", + "required": false + }, + "filter_date": { + "value": "2026-02-01", + "type": "string", + "required": false + }, + "filter_by_status": { + "value": "open", + "type": "string", + "required": false + }, + "filter_by_total_amount": { + "value": 1250.75, + "type": "integer", + "required": false + }, + "filter_by_reference_number": { + "value": "REF-789", + "type": "string", + "required": false + }, + "filter_by_customer_name": { + "value": "Acme Corporation", + "type": "string", + "required": false + }, + "filter_by_item_name": { + "value": "Widget Pro", + "type": "string", + "required": false + }, + "filter_by_customer_id": { + "value": "5601234000000001001", + "type": "string", + "required": false + }, + "filter_by_item_description": { + "value": "contains:replacement part", + "type": "string", + "required": false + }, + "filter_by_item_id": { + "value": "45000000000001", + "type": "string", + "required": false + }, + "filter_by_line_item_id": { + "value": "59000000000002", + "type": "string", + "required": false + }, + "filter_by_tax_id": { + "value": "tax_98765", + "type": "string", + "required": false + }, + "status_filter": { + "value": "Status.Open", + "type": "string", + "required": false + }, + "search_text": { + "value": "Acme CN-2026", + "type": "string", + "required": false + }, + "sort_credit_notes_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCurrencyAdjustmentAccounts", + "qualifiedName": "ZohoBooksApi.ListCurrencyAdjustmentAccounts", + "fullyQualifiedName": "ZohoBooksApi.ListCurrencyAdjustmentAccounts@1.0.0", + "description": "Retrieve accounts involved in currency adjustments.\n\nThis tool retrieves a list of accounts that have transactions affected by a specified exchange rate. Use this to find financial accounts needing currency adjustment.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the currency adjustment accounts are needed.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_id_for_adjustment", + "type": "string", + "required": true, + "description": "ID of the currency to post an adjustment for. This specifies which currency is being adjusted.", + "enum": null, + "inferrable": true + }, + { + "name": "adjustment_date", + "type": "string", + "required": true, + "description": "Specify the date for the currency adjustment in YYYY-MM-DD format.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate", + "type": "number", + "required": true, + "description": "Specify the exchange rate for the currency to affect transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "adjustment_notes", + "type": "string", + "required": true, + "description": "Notes for the base currency adjustment, providing additional information or context.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_base_currency_adjustment_accounts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCurrencyAdjustmentAccounts", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "currency_id_for_adjustment": { + "value": "USD", + "type": "string", + "required": true + }, + "adjustment_date": { + "value": "2026-02-18", + "type": "string", + "required": true + }, + "exchange_rate": { + "value": 1.1345, + "type": "integer", + "required": true + }, + "adjustment_notes": { + "value": "Revaluation of USD balances due to updated bank statement exchange rates for Q1 2026.", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCurrencyExchangeRates", + "qualifiedName": "ZohoBooksApi.ListCurrencyExchangeRates", + "fullyQualifiedName": "ZohoBooksApi.ListCurrencyExchangeRates@1.0.0", + "description": "Retrieve exchange rates for a specific currency.\n\nThis tool fetches a list of configured exchange rates for a given currency using its ID. Call this tool to obtain exchange rate information associated with a particular currency.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve exchange rates.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the currency to retrieve exchange rates.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate_from_date", + "type": "string", + "required": false, + "description": "Date to start retrieving exchange rates. Returns rates from this date or nearest previous match.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Sorts the exchange rates by the specified column. Only 'effective_date' is allowed.", + "enum": null, + "inferrable": true + }, + { + "name": "return_current_date_exchange_rate_only", + "type": "boolean", + "required": false, + "description": "Set to true to return the exchange rate only if it's available for the current date.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_exchange_rates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCurrencyExchangeRates", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "currency_identifier": { + "value": "USD", + "type": "string", + "required": true + }, + "exchange_rate_from_date": { + "value": "2024-01-01", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "effective_date", + "type": "string", + "required": false + }, + "return_current_date_exchange_rate_only": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCustomerDebitNotes", + "qualifiedName": "ZohoBooksApi.ListCustomerDebitNotes", + "fullyQualifiedName": "ZohoBooksApi.ListCustomerDebitNotes@1.0.0", + "description": "Retrieve and organize customer debit notes easily.\n\nUse this tool to access customer debit notes with options for pagination, filtering, searching, and sorting, allowing you to view and organize debit note data efficiently.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for this request. Required for identifying the organization whose debit notes are being queried.", + "enum": null, + "inferrable": true + }, + { + "name": "search_item_name", + "type": "string", + "required": false, + "description": "Search debit notes based on product or service names. Supports 'item_name_startswith' and 'item_name_contains'. Max length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_id", + "type": "string", + "required": false, + "description": "Search for customer debit notes using a specific item ID to filter based on product or service identifiers.", + "enum": null, + "inferrable": true + }, + { + "name": "item_description_filter", + "type": "string", + "required": false, + "description": "Filter debit notes by item description using detailed descriptions of products or services. Supports 'startswith' and 'contains' variants. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_name", + "type": "string", + "required": false, + "description": "Search debit notes by customer name. Filters based on the business or individual name. Maximum 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_email_filter", + "type": "string", + "required": false, + "description": "Filter debit notes by customer email address, with a maximum length of 100 characters, to find specific customers or generate segment reports.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_total_amount", + "type": "string", + "required": false, + "description": "Filter debit notes by the total amount, including taxes, discounts, and adjustments. Useful for finding specific price ranges or high-value transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_outstanding_balance", + "type": "string", + "required": false, + "description": "Filter debit notes by the remaining unpaid amount owed by the customer. Useful for finding overdue debit notes, tracking receivables, or generating aging reports.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_custom_field", + "type": "string", + "required": false, + "description": "Filter debit notes using custom fields. Supports 'custom_field_startswith' and 'custom_field_contains' for searching specific text patterns.", + "enum": null, + "inferrable": true + }, + { + "name": "search_date_range", + "type": "string", + "required": false, + "description": "Filter debit notes by creation date using yyyy-mm-dd format. Supports variants: date_start, date_end, date_before, date_after.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_due_date", + "type": "string", + "required": false, + "description": "Search debit notes by due date using yyyy-mm-dd format. Supports 'due_date_start', 'due_date_end', 'due_date_before', and 'due_date_after' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "creation_date_filter", + "type": "string", + "required": false, + "description": "Filter debit notes by creation date. Use formats: 'yyyy-mm-dd', 'created_date_start', 'created_date_end', 'created_date_before', or 'created_date_after'.", + "enum": null, + "inferrable": true + }, + { + "name": "last_modified_timestamp", + "type": "string", + "required": false, + "description": "Filter debit notes modified after this timestamp in YYYY-MM-DDTHH:MM:SS-UTC format.", + "enum": null, + "inferrable": true + }, + { + "name": "status_filter", + "type": "string", + "required": false, + "description": "Filter debit notes by their status. Allowed values: sent, draft, overdue, paid, void, unpaid, partially_paid, viewed.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "string", + "required": false, + "description": "Search debit notes by the customer's unique identifier. Use the customer ID from the Contacts API to find all corresponding debit notes.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_debit_note_type", + "type": "string", + "required": false, + "description": "Set to 'Type.DebitNote' to filter debit notes specifically. Required for this search.", + "enum": null, + "inferrable": true + }, + { + "name": "general_search_text", + "type": "string", + "required": false, + "description": "Search debit notes by number, purchase order, or customer name. Max 100 characters. Useful for quick searches across multiple fields.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_debit_notes_by_column", + "type": "string", + "required": false, + "description": "Sort debit notes by a specific column. Allowed values: customer_name, debit_note_number, date, due_date, total, balance, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number to retrieve from paginated results. Default is 1. Use with `per_page` to navigate extensive debit note data efficiently.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of records to retrieve per page, up to a maximum of 200. The default value is 200. This helps manage data transfer efficiency.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_customer_debit_notes'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCustomerDebitNotes", + "parameters": { + "organization_identifier": { + "value": "ORG-1234567890", + "type": "string", + "required": true + }, + "search_item_name": { + "value": "item_name_contains:Widget", + "type": "string", + "required": false + }, + "search_by_item_id": { + "value": "ITEM-98765", + "type": "string", + "required": false + }, + "item_description_filter": { + "value": "item_description_contains:replacement part", + "type": "string", + "required": false + }, + "search_by_customer_name": { + "value": "Acme Corporation", + "type": "string", + "required": false + }, + "customer_email_filter": { + "value": "billing@acme.example.com", + "type": "string", + "required": false + }, + "search_by_total_amount": { + "value": "min:100.00,max:500.00", + "type": "string", + "required": false + }, + "search_by_outstanding_balance": { + "value": "greater_than:50.00", + "type": "string", + "required": false + }, + "search_by_custom_field": { + "value": "custom_field_contains:VIP", + "type": "string", + "required": false + }, + "search_date_range": { + "value": "date_start:2026-01-01,date_end:2026-01-31", + "type": "string", + "required": false + }, + "filter_due_date": { + "value": "due_date_start:2026-02-01,due_date_end:2026-02-28", + "type": "string", + "required": false + }, + "creation_date_filter": { + "value": "created_date_start:2025-12-01,created_date_end:2026-01-31", + "type": "string", + "required": false + }, + "last_modified_timestamp": { + "value": "2026-02-15T08:30:00Z", + "type": "string", + "required": false + }, + "status_filter": { + "value": "overdue", + "type": "string", + "required": false + }, + "search_by_customer_id": { + "value": "CUST-1001", + "type": "string", + "required": false + }, + "filter_by_debit_note_type": { + "value": "Type.DebitNote", + "type": "string", + "required": false + }, + "general_search_text": { + "value": "PO12345", + "type": "string", + "required": false + }, + "sort_debit_notes_by_column": { + "value": "due_date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCustomerPaymentRefunds", + "qualifiedName": "ZohoBooksApi.ListCustomerPaymentRefunds", + "fullyQualifiedName": "ZohoBooksApi.ListCustomerPaymentRefunds@1.0.0", + "description": "Retrieve refunds for a specified customer payment.\n\nUse this tool to list all refunds related to a particular customer payment by providing the customer payment ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization. Required to specify which organization's data to access.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the customer payment to retrieve associated refunds.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to fetch. Defaults to 1 if not provided.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_customer_payment_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCustomerPaymentRefunds", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "customer_payment_identifier": { + "value": "CPAY-00012345", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCustomerPayments", + "qualifiedName": "ZohoBooksApi.ListCustomerPayments", + "fullyQualifiedName": "ZohoBooksApi.ListCustomerPayments@1.0.0", + "description": "List all payments made by your customers.\n\nUse this tool to retrieve a list of all the payments made by your customers. It is useful for financial analysis, reconciliation, or customer support purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization. Required to specify which organization's payments to list.", + "enum": null, + "inferrable": true + }, + { + "name": "search_customer_name", + "type": "string", + "required": false, + "description": "Filter payments by customer name using 'startswith' or 'contains' variants. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_reference_number", + "type": "string", + "required": false, + "description": "Search payments by reference number. Supports 'startswith' and 'contains' variants. Max-length 100.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_date", + "type": "string", + "required": false, + "description": "Specify the date of the customer payment in YYYY-MM-DD format to filter results.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_amount_filter", + "type": "number", + "required": false, + "description": "Filter payments by amount using variants: less_than, less_equals, greater_than, or greater_equals.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_notes", + "type": "string", + "required": false, + "description": "Search payments using customer notes, supporting 'startswith' and 'contains' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_mode_filter", + "type": "string", + "required": false, + "description": "Filter payments by specifying the payment mode. Use 'startswith' or 'contains' for partial matching.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_payments_by_mode", + "type": "string", + "required": false, + "description": "Filter payments by the payment mode. Accepted values include: All, Check, Cash, BankTransfer, Paypal, CreditCard, GoogleCheckout, Credit, Authorizenet, BankRemittance, Payflowpro, Stripe, TwoCheckout, Braintree, Others.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_column", + "type": "string", + "required": false, + "description": "Specify the column to sort the payments by. Common options include date, amount, or customer name.", + "enum": null, + "inferrable": true + }, + { + "name": "search_term_for_payments", + "type": "string", + "required": false, + "description": "Search payments by reference number, customer name, or payment description. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_id", + "type": "string", + "required": false, + "description": "The unique identifier for the customer involved in the payment. Use this to target specific customer transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "The page number of payment records to be retrieved. Defaults to 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_customer_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCustomerPayments", + "parameters": { + "organization_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "search_customer_name": { + "value": "Acme Corp", + "type": "string", + "required": false + }, + "search_by_reference_number": { + "value": "REF-2026-0001", + "type": "string", + "required": false + }, + "payment_date": { + "value": "2026-02-15", + "type": "string", + "required": false + }, + "payment_amount_filter": { + "value": 150.75, + "type": "integer", + "required": false + }, + "search_by_customer_notes": { + "value": "Invoice payment", + "type": "string", + "required": false + }, + "payment_mode_filter": { + "value": "CreditCard", + "type": "string", + "required": false + }, + "filter_payments_by_mode": { + "value": "Stripe", + "type": "string", + "required": false + }, + "sort_column": { + "value": "date", + "type": "string", + "required": false + }, + "search_term_for_payments": { + "value": "INV-2026-100", + "type": "string", + "required": false + }, + "customer_id": { + "value": "CUST-00012345", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCustomModuleRecords", + "qualifiedName": "ZohoBooksApi.ListCustomModuleRecords", + "fullyQualifiedName": "ZohoBooksApi.ListCustomModuleRecords@1.0.0", + "description": "Fetches records from a specified custom module.\n\nUse this tool to retrieve the list of records from a specific custom module in Zoho Books. Provide the module name to get the corresponding records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the Zoho organization to fetch records from.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_name", + "type": "string", + "required": true, + "description": "Name of the custom module from which to retrieve records in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_records_of_custom_module'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCustomModuleRecords", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "custom_module_name": { + "value": "ProjectTasks", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListEstimates", + "qualifiedName": "ZohoBooksApi.ListEstimates", + "fullyQualifiedName": "ZohoBooksApi.ListEstimates@1.0.0", + "description": "Retrieve a list of all estimates with pagination.\n\nUse this tool to fetch all estimates, including pagination information, from Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Specifies the ID of the organization to filter the estimates.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_number_filter", + "type": "string", + "required": false, + "description": "Specify an estimate number or use variants like 'startswith' or 'contains' for partial matching to filter estimates.", + "enum": null, + "inferrable": true + }, + { + "name": "reference_number_filter", + "type": "string", + "required": false, + "description": "Filter or search estimates by their reference number. Supports partial matches using 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_name", + "type": "string", + "required": false, + "description": "Search estimates by customer's name with optional variants for partial matches, such as 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_filter", + "type": "number", + "required": false, + "description": "Specify a condition to search estimates by their total amount. Use variants like 'less_than', 'less_equals', 'greater_than', and 'greater_equals' for range queries.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_id", + "type": "string", + "required": false, + "description": "Filter or search estimates using the unique customer ID. Use the `customer_id` provided by the Contacts API for the same organization to retrieve estimates linked to a specific customer.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "string", + "required": false, + "description": "Filter or search estimates by the unique item ID. Use the item_id returned by the Items API for the same organization to find estimates including a specific product or service.", + "enum": null, + "inferrable": true + }, + { + "name": "item_name_filter", + "type": "string", + "required": false, + "description": "Search estimates by item name. Supports variants like 'item_name_startswith' and 'item_name_contains' for partial matches.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_description", + "type": "string", + "required": false, + "description": "Search estimates by item description. Use variants 'item_description_startswith' and 'item_description_contains' for pattern matching.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_custom_field", + "type": "string", + "required": false, + "description": "Search estimates by a custom field, supporting variants like 'startswith' or 'contains' for partial matches. Useful for identifying estimates linked to specific custom data.", + "enum": null, + "inferrable": true + }, + { + "name": "expiry_date", + "type": "string", + "required": false, + "description": "Specify the expiration date of the estimates to filter the results. Use the format YYYY-MM-DD.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_date_filter", + "type": "string", + "required": false, + "description": "Search estimates by date using variants like 'date_start', 'date_end', 'date_before', or 'date_after'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_status_filter", + "type": "string", + "required": false, + "description": "Filter estimates by status. Allowed values: draft, sent, invoiced, accepted, declined, expired.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_estimates_by_status", + "type": "string", + "required": false, + "description": "Specify the status to filter estimates. Allowed values: Status.All, Status.Sent, Status.Draft, Status.Invoiced, Status.Accepted, Status.Declined, Status.Expired.", + "enum": null, + "inferrable": true + }, + { + "name": "keyword_search", + "type": "string", + "required": false, + "description": "Keyword search across estimate number, reference number, or customer name to quickly find matching estimates.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_estimates_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort estimates by. Options: customer_name, estimate_number, date, total, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "deal_potential_id", + "type": "integer", + "required": false, + "description": "Potential ID of a Deal in CRM. Use this to filter estimates linked to specific deals.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to fetch. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_estimates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListEstimates", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "estimate_number_filter": { + "value": "contains:EST-100", + "type": "string", + "required": false + }, + "reference_number_filter": { + "value": "startswith:REF-", + "type": "string", + "required": false + }, + "customer_name": { + "value": "contains:Acme Corp", + "type": "string", + "required": false + }, + "total_filter": { + "value": "greater_equals:5000", + "type": "integer", + "required": false + }, + "filter_by_customer_id": { + "value": "789012345", + "type": "string", + "required": false + }, + "filter_by_item_id": { + "value": "456789012", + "type": "string", + "required": false + }, + "item_name_filter": { + "value": "item_name_startswith:Hosting", + "type": "string", + "required": false + }, + "search_by_item_description": { + "value": "item_description_contains:premium support", + "type": "string", + "required": false + }, + "search_by_custom_field": { + "value": "contains:projectX", + "type": "string", + "required": false + }, + "expiry_date": { + "value": "2026-03-31", + "type": "string", + "required": false + }, + "estimate_date_filter": { + "value": "date_start:2026-01-01,date_end:2026-01-31", + "type": "string", + "required": false + }, + "estimate_status_filter": { + "value": "sent", + "type": "string", + "required": false + }, + "filter_estimates_by_status": { + "value": "Status.Sent", + "type": "string", + "required": false + }, + "keyword_search": { + "value": "Acme 2026", + "type": "string", + "required": false + }, + "sort_estimates_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "deal_potential_id": { + "value": 987654321, + "type": "integer", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListExpenses", + "qualifiedName": "ZohoBooksApi.ListExpenses", + "fullyQualifiedName": "ZohoBooksApi.ListExpenses@1.0.0", + "description": "Retrieve a list of expenses with pagination.\n\nUse this tool to get a paginated list of all expenses recorded in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization whose expenses are being queried.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_description", + "type": "string", + "required": false, + "description": "Search expenses by description, supports 'description_startswith' and 'description_contains'. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_reference_number", + "type": "string", + "required": false, + "description": "Search expenses by part or complete reference number using 'startswith' or 'contains'. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_date", + "type": "string", + "required": false, + "description": "Search expenses by expense date. Use variants: date_start, date_end, date_before, or date_after. Format [yyyy-mm-dd].", + "enum": null, + "inferrable": true + }, + { + "name": "expense_status", + "type": "string", + "required": false, + "description": "Search expenses by status. Allowed values: unbilled, invoiced, reimbursed, non-billable, billable.", + "enum": null, + "inferrable": true + }, + { + "name": "amount_filter", + "type": "number", + "required": false, + "description": "Search expenses by amount using the variants: less_than, less_equals, greater_than, or greater_equals.", + "enum": null, + "inferrable": true + }, + { + "name": "search_expense_account_name", + "type": "string", + "required": false, + "description": "Search expenses by account name. Use 'startswith:' or 'contains:'. Max length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_name_filter", + "type": "string", + "required": false, + "description": "Filter expenses by customer name. Supports 'startswith' and 'contains' variants. Max length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_name_filter", + "type": "string", + "required": false, + "description": "Filter expenses by vendor name using 'vendor_name_startswith' or 'vendor_name_contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_account_customer_id", + "type": "string", + "required": false, + "description": "The ID of the expense account for the customer. Use this to filter expenses specific to a customer's account.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_id", + "type": "string", + "required": false, + "description": "ID of the vendor associated with the expense.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": false, + "description": "The ID used to search for expenses associated with a recurring expense.", + "enum": null, + "inferrable": true + }, + { + "name": "paid_through_account_id", + "type": "string", + "required": false, + "description": "The ID of the account through which the expense was paid.", + "enum": null, + "inferrable": true + }, + { + "name": "search_expenses_text", + "type": "string", + "required": false, + "description": "Search expenses by account name, description, customer name, or vendor name. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_expenses_by", + "type": "string", + "required": false, + "description": "Sort expenses by the specified column. Allowed values: date, account_name, total, bcy_total, reference_number, customer_name, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_status_filter", + "type": "string", + "required": false, + "description": "Filter expenses by status. Allowed values: 'Status.All', 'Status.Billable', 'Status.Nonbillable', 'Status.Reimbursed', 'Status.Invoiced', 'Status.Unbilled'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to fetch, with the default starting at 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of expense records to fetch per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_expenses'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListExpenses", + "parameters": { + "organization_id": { + "value": "61234567890", + "type": "string", + "required": true + }, + "search_by_description": { + "value": "description_contains:meeting with client", + "type": "string", + "required": false + }, + "search_by_reference_number": { + "value": "contains:EXP-2024-", + "type": "string", + "required": false + }, + "filter_by_date": { + "value": "date_start:2024-01-01,date_end:2024-12-31", + "type": "string", + "required": false + }, + "expense_status": { + "value": "billable", + "type": "string", + "required": false + }, + "amount_filter": { + "value": "greater_than:150.00", + "type": "integer", + "required": false + }, + "search_expense_account_name": { + "value": "startswith:Office Supplies", + "type": "string", + "required": false + }, + "customer_name_filter": { + "value": "startswith:Acme Corporation", + "type": "string", + "required": false + }, + "vendor_name_filter": { + "value": "vendor_name_contains:Staples", + "type": "string", + "required": false + }, + "expense_account_customer_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "vendor_id": { + "value": "555666777", + "type": "string", + "required": false + }, + "recurring_expense_id": { + "value": "recurr_12345", + "type": "string", + "required": false + }, + "paid_through_account_id": { + "value": "acc_998877", + "type": "string", + "required": false + }, + "search_expenses_text": { + "value": "office supplies meeting", + "type": "string", + "required": false + }, + "sort_expenses_by": { + "value": "date", + "type": "string", + "required": false + }, + "expense_status_filter": { + "value": "Status.Billable", + "type": "string", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListInventoryLocations", + "qualifiedName": "ZohoBooksApi.ListInventoryLocations", + "fullyQualifiedName": "ZohoBooksApi.ListInventoryLocations@1.0.0", + "description": "Retrieve all available locations from Zoho Inventory.\n\nUse this tool to get a comprehensive list of all the available locations in your Zoho Inventory. It should be called when you need to access inventory location details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_locations'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListInventoryLocations", + "parameters": { + "organization_id": { + "value": "679012345678945", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListInvoiceTemplates", + "qualifiedName": "ZohoBooksApi.ListInvoiceTemplates", + "fullyQualifiedName": "ZohoBooksApi.ListInvoiceTemplates@1.0.0", + "description": "Fetch all invoice PDF templates from Zoho Books.\n\nThis tool retrieves a list of all available invoice PDF templates in Zoho Books. Use this to access template options for invoices.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to fetch invoice templates for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoice_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListInvoiceTemplates", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListOrganizations", + "qualifiedName": "ZohoBooksApi.ListOrganizations", + "fullyQualifiedName": "ZohoBooksApi.ListOrganizations@1.0.0", + "description": "Retrieve the list of organizations from Zoho Books.\n\nUse this tool to obtain a list of all organizations associated with the user's Zoho Books account. It is useful for managing and accessing organization-specific data or settings.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to list details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_organizations'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListOrganizations", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListProjectInvoices", + "qualifiedName": "ZohoBooksApi.ListProjectInvoices", + "fullyQualifiedName": "ZohoBooksApi.ListProjectInvoices@1.0.0", + "description": "Retrieve invoices for a specific project in Zoho Books.\n\nCall this endpoint to obtain a list of all invoices associated with a particular project within Zoho Books. This tool is useful when you need to review or manage billing details for project-based work.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This is required to access the specific organization's project invoices.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific project to retrieve invoices for.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_invoices_by", + "type": "string", + "required": false, + "description": "Specify the column to sort invoices by. Options are: 'invoice_number', 'date', 'total', 'balance', 'created_time'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve from the list of invoices. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "The number of invoice records to fetch per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_project_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListProjectInvoices", + "parameters": { + "organization_identifier": { + "value": "org_9876543210", + "type": "string", + "required": true + }, + "project_unique_identifier": { + "value": "proj_abc123", + "type": "string", + "required": true + }, + "sort_invoices_by": { + "value": "date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListProjects", + "qualifiedName": "ZohoBooksApi.ListProjects", + "fullyQualifiedName": "ZohoBooksApi.ListProjects@1.0.0", + "description": "Retrieve a list of all projects with pagination.\n\nThis tool is used to get a list of all projects from Zoho Books, with support for pagination. Call this tool to retrieve project data when managing tasks or resources.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which to list projects.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_projects_by_status", + "type": "string", + "required": false, + "description": "Filter projects by status. Use Status.All, Status.Active, or Status.Inactive.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "string", + "required": false, + "description": "Search projects using the customer's ID to filter results.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_projects_by", + "type": "string", + "required": false, + "description": "Sort projects by project name, customer name, rate, or created time.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Defaults to 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_projects'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListProjects", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "filter_projects_by_status": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "search_by_customer_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "sort_projects_by": { + "value": "project_name", + "type": "string", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListProjectUsers", + "qualifiedName": "ZohoBooksApi.ListProjectUsers", + "fullyQualifiedName": "ZohoBooksApi.ListProjectUsers@1.0.0", + "description": "Get a list of users associated with a project.\n\nUse this tool to retrieve users linked to a specific project in Zoho Books. This is useful for managing project collaborations and assignments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID representing the organization in Zoho Books. Required to access project users.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the project to retrieve associated users.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_project_users'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListProjectUsers", + "parameters": { + "organization_id": { + "value": "874563210", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "10000000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListPurchaseOrders", + "qualifiedName": "ZohoBooksApi.ListPurchaseOrders", + "fullyQualifiedName": "ZohoBooksApi.ListPurchaseOrders@1.0.0", + "description": "Retrieve a list of all purchase orders.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to filter purchase orders.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_purchaseorder_number", + "type": "string", + "required": false, + "description": "Search purchase order by number. Supports exact, starts with, and contains variants.", + "enum": null, + "inferrable": true + }, + { + "name": "reference_number_search", + "type": "string", + "required": false, + "description": "Search for a purchase order using the exact or partial reference number. Supports 'startswith' and 'contains' methods.", + "enum": null, + "inferrable": true + }, + { + "name": "creation_date", + "type": "string", + "required": false, + "description": "Creation date for purchase order search in YYYY-MM-DD format.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_status", + "type": "string", + "required": false, + "description": "Filter purchase orders by status. Options: draft, open, billed, cancelled.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_description", + "type": "string", + "required": false, + "description": "Search purchase orders by item description. Use partial matches or specific description. Includes variants like 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_name", + "type": "string", + "required": false, + "description": "Search purchase orders by vendor name with optional 'startswith' or 'contains' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "total_amount_filter", + "type": "number", + "required": false, + "description": "Filter purchase orders by total amount. Use options like 'start', 'end', 'less_than', 'less_equals', 'greater_than', 'greater_equals' to specify the range or comparison.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_identifier", + "type": "string", + "required": false, + "description": "Specify the unique ID of the vendor to filter purchase orders. Useful for grouping POs by a specific vendor.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_modified_time", + "type": "string", + "required": false, + "description": "ISO 8601 format (YYYY-MM-DDTHH:MM:SS±HH:MM) to filter POs by last modified time. For finding recently updated POs.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_id", + "type": "string", + "required": false, + "description": "Search purchase orders using the unique item ID to find POs containing a specific item.", + "enum": null, + "inferrable": true + }, + { + "name": "status_filter", + "type": "string", + "required": false, + "description": "Filter purchase orders by status. Use 'Status.All', 'Status.Draft', 'Status.Open', 'Status.Billed', or 'Status.Cancelled'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_purchase_order_text", + "type": "string", + "required": false, + "description": "Search for purchase orders by number, reference, or vendor name. Allows general searching across multiple fields for quick lookup.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Column to sort purchase orders by. Options: vendor_name, purchaseorder_number, date, delivery_date, total, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_custom_field", + "type": "string", + "required": false, + "description": "Search purchase orders using custom field criteria. Supports 'startswith' and 'contains' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to fetch, with a default value of 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specifies the number of purchase orders to retrieve per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_purchase_orders'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListPurchaseOrders", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "search_by_purchaseorder_number": { + "value": "PO-1001", + "type": "string", + "required": false + }, + "reference_number_search": { + "value": "REF-2025", + "type": "string", + "required": false + }, + "creation_date": { + "value": "2026-02-01", + "type": "string", + "required": false + }, + "purchase_order_status": { + "value": "open", + "type": "string", + "required": false + }, + "search_by_item_description": { + "value": "steel bolts", + "type": "string", + "required": false + }, + "vendor_name": { + "value": "Acme Supplies", + "type": "string", + "required": false + }, + "total_amount_filter": { + "value": 1500.75, + "type": "integer", + "required": false + }, + "vendor_identifier": { + "value": "vendor_98765", + "type": "string", + "required": false + }, + "search_by_last_modified_time": { + "value": "2026-02-15T14:30:00-05:00", + "type": "string", + "required": false + }, + "search_by_item_id": { + "value": "item_ABC123", + "type": "string", + "required": false + }, + "status_filter": { + "value": "Status.Open", + "type": "string", + "required": false + }, + "search_purchase_order_text": { + "value": "Acme 1001", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "search_by_custom_field": { + "value": "contains:urgent", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListRecurringExpenses", + "qualifiedName": "ZohoBooksApi.ListRecurringExpenses", + "fullyQualifiedName": "ZohoBooksApi.ListRecurringExpenses@1.0.0", + "description": "Retrieve all recurring expenses from your records.\n\nUse this tool to fetch a list of all recurring expenses. Ideal for situations where you need to review or manage periodic expenses systematically.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization whose recurring expenses need to be listed.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_name_filter", + "type": "string", + "required": false, + "description": "Filter recurring expenses by name using either 'startswith' or 'contains'. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_created_date", + "type": "string", + "required": false, + "description": "Filter recurring expenses based on last generated expense date. Use formats: last_created_date_start, last_created_date_end, last_created_date_before, last_created_date_after with date [yyyy-mm-dd].", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_next_expense_date", + "type": "string", + "required": false, + "description": "Filter recurring expenses by dates related to the next expected expense. Options include 'next_expense_date_start', 'next_expense_date_end', 'next_expense_date_before', and 'next_expense_date_after'. Format is 'yyyy-mm-dd'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_status", + "type": "string", + "required": false, + "description": "Specify the status of expenses to search for. Allowed values are 'active', 'stopped', and 'expired'.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id_for_expense", + "type": "string", + "required": false, + "description": "Specify the unique identifier for the expense account to filter expenses associated with it.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_account_name", + "type": "string", + "required": false, + "description": "Search expenses by account name with options for exact match or partial match using 'startswith' and 'contains'. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "amount_filter", + "type": "number", + "required": false, + "description": "Specify a filter for expense amounts, such as 'amount_less_than', 'amount_less_equals', 'amount_greater_than', or 'amount_greater_than'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_name", + "type": "string", + "required": false, + "description": "Search recurring expenses by customer name. Use variants 'customer_name_startswith' or 'customer_name_contains'. Max 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "string", + "required": false, + "description": "Specify the customer ID to search expenses associated with that customer.", + "enum": null, + "inferrable": true + }, + { + "name": "paid_through_account_id", + "type": "string", + "required": false, + "description": "ID of the account through which the expense was paid. Used to filter expenses.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_status_filter", + "type": "string", + "required": false, + "description": "Filter recurring expenses by their status. Use 'Status.All', 'Status.Active', 'Status.Expired', or 'Status.Stopped'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_expenses_by_text", + "type": "string", + "required": false, + "description": "Specify text to search expenses by account name, description, customer name, or vendor name. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_expenses_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort expenses by. Allowed values: next_expense_date, account_name, total, last_created_date, recurrence_name, customer_name, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "The page number of records to retrieve, starting from 1. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify how many records to retrieve per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_expenses'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListRecurringExpenses", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "recurring_expense_name_filter": { + "value": "contains:Subscription", + "type": "string", + "required": false + }, + "search_by_last_created_date": { + "value": "last_created_date_start=2024-01-01", + "type": "string", + "required": false + }, + "filter_by_next_expense_date": { + "value": "next_expense_date_before=2024-12-31", + "type": "string", + "required": false + }, + "expense_status": { + "value": "active", + "type": "string", + "required": false + }, + "account_id_for_expense": { + "value": "987654321", + "type": "string", + "required": false + }, + "filter_by_account_name": { + "value": "startswith:Office Supplies", + "type": "string", + "required": false + }, + "amount_filter": { + "value": 1500, + "type": "integer", + "required": false + }, + "search_by_customer_name": { + "value": "customer_name_contains=Acme Corp", + "type": "string", + "required": false + }, + "search_by_customer_id": { + "value": "CUST-00123", + "type": "string", + "required": false + }, + "paid_through_account_id": { + "value": "ACCT-555", + "type": "string", + "required": false + }, + "expense_status_filter": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "search_expenses_by_text": { + "value": "monthly license", + "type": "string", + "required": false + }, + "sort_expenses_by_column": { + "value": "next_expense_date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListRecurringInvoices", + "qualifiedName": "ZohoBooksApi.ListRecurringInvoices", + "fullyQualifiedName": "ZohoBooksApi.ListRecurringInvoices@1.0.0", + "description": "Retrieve details of all recurring invoices.\n\nUse this tool to get detailed information on all recurring invoices. Ideal for managing invoicing schedules and monitoring recurring payments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which you want to list the recurring invoices. Required for accessing specific organization's data.", + "enum": null, + "inferrable": true + }, + { + "name": "recurrence_unique_name", + "type": "string", + "required": false, + "description": "Unique name for the recurring profile, provided by the user. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_name", + "type": "string", + "required": false, + "description": "Search recurring invoices by item name, using 'item_name_startswith' or 'profileitemname_contains' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "item_description_filter", + "type": "string", + "required": false, + "description": "Search for recurring invoices by item description using 'startswith' or 'contains' criteria.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_name", + "type": "string", + "required": false, + "description": "Name of the customer for whom the recurring invoice is raised. Use this to filter invoices by customer.", + "enum": null, + "inferrable": true + }, + { + "name": "line_item_id", + "type": "string", + "required": false, + "description": "Specify the line item ID for filtering recurring invoices.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": false, + "description": "Unique identifier for the item associated with the recurring invoice.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_identifier", + "type": "string", + "required": false, + "description": "ID of the tax or tax group associated with the recurring invoice.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_note", + "type": "string", + "required": false, + "description": "A short note for the recurring invoice, providing additional details or context.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_start_date", + "type": "string", + "required": false, + "description": "The date on which the recurring invoice starts. Format: YYYY-MM-DD.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_end_date", + "type": "string", + "required": false, + "description": "The date when the recurring invoice expires, formatted as YYYY-MM-DD.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_id", + "type": "string", + "required": false, + "description": "The ID of the customer for whom the recurring invoice is raised. Use this to filter invoices specific to a customer.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_status", + "type": "string", + "required": false, + "description": "Status of the recurring invoice: 'active', 'stopped', or 'expired'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_recurring_invoice_status", + "type": "string", + "required": false, + "description": "Filter recurring invoices by status or payment expected date. Allowed values: Status.All, Status.Active, Status.Stopped, Status.Expired.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Search invoices by invoice number, purchase order, or customer name. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort the recurring invoices by. Leave empty for no sorting.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch, with a default value of 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to retrieve per page, with a default of 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListRecurringInvoices", + "parameters": { + "organization_id": { + "value": "ORG_123456789", + "type": "string", + "required": true + }, + "recurrence_unique_name": { + "value": "monthly_website_hosting_profile", + "type": "string", + "required": false + }, + "search_by_item_name": { + "value": "item_name_startswith:Hosting", + "type": "string", + "required": false + }, + "item_description_filter": { + "value": "contains:maintenance", + "type": "string", + "required": false + }, + "customer_name": { + "value": "Acme Corporation", + "type": "string", + "required": false + }, + "line_item_id": { + "value": "LI_987654321", + "type": "string", + "required": false + }, + "item_id": { + "value": "ITM_12345", + "type": "string", + "required": false + }, + "tax_identifier": { + "value": "TAX_001", + "type": "string", + "required": false + }, + "invoice_note": { + "value": "Monthly hosting and maintenance fee", + "type": "string", + "required": false + }, + "recurring_invoice_start_date": { + "value": "2024-01-01", + "type": "string", + "required": false + }, + "recurring_invoice_end_date": { + "value": "2024-12-31", + "type": "string", + "required": false + }, + "customer_id": { + "value": "CUST_1001", + "type": "string", + "required": false + }, + "recurring_invoice_status": { + "value": "active", + "type": "string", + "required": false + }, + "filter_recurring_invoice_status": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "search_text": { + "value": "INV-2024-", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "next_payment_date", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListRetainerInvoices", + "qualifiedName": "ZohoBooksApi.ListRetainerInvoices", + "fullyQualifiedName": "ZohoBooksApi.ListRetainerInvoices@1.0.0", + "description": "List all retainer invoices with pagination.\n\nRetrieve a complete list of retainer invoices. Use this tool to access invoices with pagination support.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specifies the column to sort retainer invoices by. Allowed values: 'customer_name', 'retainer_invoice_number', 'date', 'due_date', 'total', 'balance', 'created_time'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_invoices_by_status_or_date", + "type": "string", + "required": false, + "description": "Filter invoices by status or payment expected date. Valid values: Status.All, Status.Sent, Status.Draft, Status.OverDue, Status.Paid, Status.Void, Status.Unpaid, Status.PartiallyPaid, Status.Viewed, Date.PaymentExpectedDate.", + "enum": null, + "inferrable": true + }, + { + "name": "sorting_order", + "type": "string", + "required": false, + "description": "The order for sorting retainer invoices. Typically 'asc' for ascending or 'desc' for descending.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specifies the page number for pagination when listing retainer invoices.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to print the exported PDF of retainer invoices.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_retainer_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListRetainerInvoices", + "parameters": { + "organization_id": { + "value": "603f1a2b4d5e6f7a8b9c0d1e", + "type": "string", + "required": true + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "filter_invoices_by_status_or_date": { + "value": "Status.Unpaid", + "type": "string", + "required": false + }, + "sorting_order": { + "value": "desc", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + }, + "print_pdf": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListSalesOrders", + "qualifiedName": "ZohoBooksApi.ListSalesOrders", + "fullyQualifiedName": "ZohoBooksApi.ListSalesOrders@1.0.0", + "description": "Retrieve a list of all sales orders.\n\nUse this tool to get a complete list of sales orders. It helps in managing and reviewing sales transactions efficiently.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which sales orders are to be listed.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_column", + "type": "string", + "required": false, + "description": "Column field to sort sales order results. Options: customer_name, salesorder_number, shipment_date, last_modified_time, reference_number, total, date, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "cross_field_search_text", + "type": "string", + "required": false, + "description": "A general search term for matching text across fields like sales order number, reference number, and customer name for quick identification.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_sales_order_by_status", + "type": "string", + "required": false, + "description": "Filter sales orders by status. Options: All, Open, Draft, OverDue, PartiallyInvoiced, Invoiced, Void, Closed.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_sales_order_number", + "type": "string", + "required": false, + "description": "Filter sales orders by sales order number with operators: startswith, not_in, in, or contains. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_name", + "type": "string", + "required": false, + "description": "Filter sales orders by line item name. Use matching operators like startswith, not_in, in, and contains. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "string", + "required": false, + "description": "Filter sales orders by a specific line item identifier to retrieve orders containing a particular product or service.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_description", + "type": "string", + "required": false, + "description": "Filter sales orders by line item description. Supports variants like startswith, not_in, in, and contains. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_reference_number", + "type": "string", + "required": false, + "description": "Filter sales orders by external reference number using operators like `startswith`, `not_in`, `in`, and `contains`.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_name_filter", + "type": "string", + "required": false, + "description": "Filter sales orders by customer name with operators like startswith, not_in, in, and contains. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_total", + "type": "number", + "required": false, + "description": "Specify range operators to filter sales orders by total. Use total_start, total_end, total_less_than, total_greater_than, etc.", + "enum": null, + "inferrable": true + }, + { + "name": "creation_date_filter", + "type": "string", + "required": false, + "description": "Filter sales orders by creation date using operators like `date_start`, `date_end`, `date_before`, `date_after`. Format: `yyyy-mm-dd`.", + "enum": null, + "inferrable": true + }, + { + "name": "shipment_date_filter", + "type": "string", + "required": false, + "description": "Specify the shipment date filter for sales orders. Use variants such as 'shipment_date_start', 'shipment_date_end', 'shipment_date_before', and 'shipment_date_after' in 'yyyy-mm-dd' format.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_status", + "type": "string", + "required": false, + "description": "Filter sales orders by their status. Allowed values: draft, open, invoiced, partially_invoiced, void, and overdue.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_id", + "type": "string", + "required": false, + "description": "Filter sales orders by specific customer ID. Retrieves orders associated with a customer for CRM and reporting.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_representative_id", + "type": "string", + "required": false, + "description": "Filter sales orders by specific sales representative ID for tracking and reporting purposes.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_ids", + "type": "string", + "required": false, + "description": "Comma-separated list of sales order IDs to filter results. Maximum length is 200 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "last_modified_time", + "type": "string", + "required": false, + "description": "Specify the last modified time of the sales order to filter results. Use the format 'yyyy-mm-dd'.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specifies the format for sales order details. Must be one of: json, csv, xml, xls, xlsx, pdf, jhtml, or html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_view_id", + "type": "string", + "required": false, + "description": "ID of the custom view to filter sales orders based on predefined criteria.", + "enum": null, + "inferrable": true + }, + { + "name": "deal_crm_potential_id", + "type": "integer", + "required": false, + "description": "Potential ID of a Deal in CRM. Used to filter sales orders associated with a specific deal.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number for retrieving paginated sales order results. Default is 1 for the first page.", + "enum": null, + "inferrable": true + }, + { + "name": "max_sales_orders_per_page", + "type": "integer", + "required": false, + "description": "Specify the maximum number of sales order records to return per page. Default is 200 for optimal performance and memory usage.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_printing", + "type": "boolean", + "required": false, + "description": "Enable printing of the exported PDF. Use when 'accept' is set to 'pdf' and 'salesorder_ids' includes values.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_sales_orders'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListSalesOrders", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "sort_column": { + "value": "date", + "type": "string", + "required": false + }, + "cross_field_search_text": { + "value": "SO-1001", + "type": "string", + "required": false + }, + "filter_sales_order_by_status": { + "value": "Open", + "type": "string", + "required": false + }, + "filter_by_sales_order_number": { + "value": "contains:SO-1", + "type": "string", + "required": false + }, + "filter_by_item_name": { + "value": "startswith:Widget", + "type": "string", + "required": false + }, + "filter_by_item_id": { + "value": "SKU-98765", + "type": "string", + "required": false + }, + "filter_by_item_description": { + "value": "contains:premium", + "type": "string", + "required": false + }, + "filter_by_reference_number": { + "value": "in:REF100,REF101", + "type": "string", + "required": false + }, + "customer_name_filter": { + "value": "contains:Acme", + "type": "string", + "required": false + }, + "filter_by_total": { + "value": "total_start:100,total_end:1000", + "type": "integer", + "required": false + }, + "creation_date_filter": { + "value": "date_start:2025-01-01,date_end:2025-12-31", + "type": "string", + "required": false + }, + "shipment_date_filter": { + "value": "shipment_date_start:2025-06-01,shipment_date_end:2025-06-30", + "type": "string", + "required": false + }, + "sales_order_status": { + "value": "open", + "type": "string", + "required": false + }, + "filter_by_customer_id": { + "value": "CUST-00123", + "type": "string", + "required": false + }, + "sales_representative_id": { + "value": "SR-456", + "type": "string", + "required": false + }, + "sales_order_ids": { + "value": "SOID-1001,SOID-1002", + "type": "string", + "required": false + }, + "last_modified_time": { + "value": "2025-12-01", + "type": "string", + "required": false + }, + "response_format": { + "value": "json", + "type": "string", + "required": false + }, + "custom_view_id": { + "value": "CV-789", + "type": "string", + "required": false + }, + "deal_crm_potential_id": { + "value": 555, + "type": "integer", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "max_sales_orders_per_page": { + "value": 100, + "type": "integer", + "required": false + }, + "enable_printing": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListSalesReceipts", + "qualifiedName": "ZohoBooksApi.ListSalesReceipts", + "fullyQualifiedName": "ZohoBooksApi.ListSalesReceipts@1.0.0", + "description": "Retrieve a list of all sales receipts.\n\nUse this tool to obtain a comprehensive list of all sales receipts. It should be called when there's a need to review or analyze sales transaction records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to list sales receipts.", + "enum": null, + "inferrable": true + }, + { + "name": "search_receipt_by_number", + "type": "string", + "required": false, + "description": "Search for receipts using their unique number. Supports 'startswith' and 'contains' filters. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_name", + "type": "string", + "required": false, + "description": "Search sales receipts by item name using 'startswith' or 'contains' variants. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort sales receipts by. Options: customer_name, receipt_number, date, total, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_sales_receipts_by_status", + "type": "string", + "required": false, + "description": "Filter sales receipts based on their status. Options include date ranges like 'ThisWeek', and statuses like 'Status.Draft'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_identifier", + "type": "string", + "required": false, + "description": "Filter sales receipts by specific customer identifier. Provide the unique ID of the customer to retrieve their sales receipts.", + "enum": null, + "inferrable": true + }, + { + "name": "date_filter", + "type": "string", + "required": false, + "description": "Filter sales receipts by date using variants like date_start, date_end, date_before, and date_after. Use yyyy-mm-dd format.", + "enum": null, + "inferrable": true + }, + { + "name": "total_filter_options", + "type": "number", + "required": false, + "description": "Filter sales receipts using range operators like total_start, total_end, total_less_than, and total_greater_than. Expects a number specifying the total amount.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number for retrieving paginated sales receipt results. Defaults to 1.", + "enum": null, + "inferrable": true + }, + { + "name": "max_records_per_page", + "type": "integer", + "required": false, + "description": "Specify the maximum number of sales receipt records to return per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_sales_receipts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListSalesReceipts", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "search_receipt_by_number": { + "value": "startswith:SR-2025", + "type": "string", + "required": false + }, + "search_by_item_name": { + "value": "contains:Premium Widget", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "filter_sales_receipts_by_status": { + "value": "Status.Draft", + "type": "string", + "required": false + }, + "customer_identifier": { + "value": "200000123456789", + "type": "string", + "required": false + }, + "date_filter": { + "value": "date_start:2025-01-01,date_end:2025-01-31", + "type": "string", + "required": false + }, + "total_filter_options": { + "value": 100, + "type": "integer", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "max_records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListTaxes", + "qualifiedName": "ZohoBooksApi.ListTaxes", + "fullyQualifiedName": "ZohoBooksApi.ListTaxes@1.0.0", + "description": "Retrieve a list of simple and compound taxes.\n\nUse this tool to get a list of simple and compound taxes available in the system, with options for pagination.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique ID of the organization to list taxes for.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number of the tax list to retrieve. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "The number of tax records to retrieve per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_taxes'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListTaxes", + "parameters": { + "organization_id": { + "value": "672314567890123456", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListTimeEntries", + "qualifiedName": "ZohoBooksApi.ListTimeEntries", + "fullyQualifiedName": "ZohoBooksApi.ListTimeEntries@1.0.0", + "description": "Retrieve all time entries with pagination.\n\nCall this tool to get a list of all time entries for projects, supporting pagination if needed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to retrieve time entries specific to this organization.", + "enum": null, + "inferrable": true + }, + { + "name": "start_date_for_time_entries", + "type": "string", + "required": false, + "description": "Date from which the time entries should start being fetched. Expected format is YYYY-MM-DD.", + "enum": null, + "inferrable": true + }, + { + "name": "end_date_for_time_entries", + "type": "string", + "required": false, + "description": "The end date for fetching logged time entries in YYYY-MM-DD format.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_time_entries_by", + "type": "string", + "required": false, + "description": "Filter time entries by date or status. Use values like Date.Today, Date.ThisMonth, Status.Unbilled, etc.", + "enum": null, + "inferrable": true + }, + { + "name": "project_id", + "type": "string", + "required": false, + "description": "Search for time entries by specifying the project ID.", + "enum": null, + "inferrable": true + }, + { + "name": "search_time_entries_by_user_id", + "type": "string", + "required": false, + "description": "Search and filter time entries based on a specific user's ID. Provide the ID as a string.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_time_entries_by", + "type": "string", + "required": false, + "description": "Sort time entries by project name, task name, user name, log date, timer start time, or customer name.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number to retrieve time entries from, starting at 1 by default.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Defaults to 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_time_entries'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListTimeEntries", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "start_date_for_time_entries": { + "value": "2026-01-01", + "type": "string", + "required": false + }, + "end_date_for_time_entries": { + "value": "2026-01-31", + "type": "string", + "required": false + }, + "filter_time_entries_by": { + "value": "Date.ThisMonth", + "type": "string", + "required": false + }, + "project_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "search_time_entries_by_user_id": { + "value": "456123", + "type": "string", + "required": false + }, + "sort_time_entries_by": { + "value": "log_date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListVendorCreditRefunds", + "qualifiedName": "ZohoBooksApi.ListVendorCreditRefunds", + "fullyQualifiedName": "ZohoBooksApi.ListVendorCreditRefunds@1.0.0", + "description": "Retrieve all refunds for a specified vendor credit.\n\nUse this tool to get a list of all refunds associated with a particular vendor credit by providing the vendor credit ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Unique string ID of the organization for which refunds are to be listed.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": true, + "description": "The unique identifier for a specific vendor credit whose refunds are to be listed.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number for pagination, specifying which set of results to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of refunds to return per page for pagination. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_credit_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListVendorCreditRefunds", + "parameters": { + "organization_identifier": { + "value": "ORG_987654321", + "type": "string", + "required": true + }, + "vendor_credit_id": { + "value": "VC-2026-00045", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListVendorCredits", + "qualifiedName": "ZohoBooksApi.ListVendorCredits", + "fullyQualifiedName": "ZohoBooksApi.ListVendorCredits@1.0.0", + "description": "Retrieve and filter vendor credits from Zoho Books.\n\nRetrieve a paginated list of vendor credits using various filtering, sorting, and search capabilities, such as by date, status, amount, vendor details, items, taxes, and custom fields.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_number_filter", + "type": "string", + "required": false, + "description": "Filter vendor credits by specific vendor credit number. Supports partial matching with options like 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_creation_date", + "type": "string", + "required": false, + "description": "Filter vendor credits by creation date using yyyy-mm-dd format. Supports date_start, date_end, date_before, and date_after for range filtering.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_status", + "type": "string", + "required": false, + "description": "Filter vendor credits by their current status. Allowed values: 'open', 'closed', 'void', or 'draft'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_amount_filter", + "type": "string", + "required": false, + "description": "Filter vendor credits by total amount. Use variants: total_start, total_end, total_less_than, total_less_equals, total_greater_than, total_greater_equals.", + "enum": null, + "inferrable": true + }, + { + "name": "reference_number_filter", + "type": "string", + "required": false, + "description": "Filter vendor credits by their reference number, supporting 'startswith' and 'contains' for partial matches.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_vendor_name", + "type": "string", + "required": false, + "description": "Filter vendor credits by vendor name, supporting partial matches with 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_name", + "type": "string", + "required": false, + "description": "Filter vendor credits by item name. Use 'startswith:' or 'contains:' as prefixes for partial matching.", + "enum": null, + "inferrable": true + }, + { + "name": "item_description_filter", + "type": "string", + "required": false, + "description": "Filter vendor credits by item description. Supports partial matching with 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_notes_content", + "type": "string", + "required": false, + "description": "Filter vendor credits by notes content. Use partial matching with variants: notes_startswith or notes_contains.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_custom_field", + "type": "string", + "required": false, + "description": "Filter vendor credits by custom field values. Use 'custom_field_startswith' or 'custom_field_contains' for partial matching.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_last_modified_time", + "type": "string", + "required": false, + "description": "Filter vendor credits by last modified time using ISO 8601 format (yyyy-mm-ddThh:mm:ss-hh:mm).", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_id", + "type": "integer", + "required": false, + "description": "Filter vendor credits by a specific customer ID to find credits associated with that customer. Retrieve customer IDs from the contacts API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_line_item_id", + "type": "integer", + "required": false, + "description": "Filter vendor credits by a specific line item ID to find credits containing the item.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "integer", + "required": false, + "description": "Filter vendor credits by a specific item ID. Use this to find vendor credits containing the item. Retrieve item IDs from the items API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_tax_id", + "type": "integer", + "required": false, + "description": "Filter vendor credits by specific tax ID to find credits with that tax applied. Tax IDs are retrieved from the taxes API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_status", + "type": "string", + "required": false, + "description": "Filter vendor credits by status using predefined values: Status.All, Status.Open, Status.Draft, Status.Closed, Status.Void.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Enter text to search vendor credits by credit number, vendor name, and reference number.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify which column to sort vendor credits by. Options: vendor_name, vendor_credit_number, balance, total, date, created_time, last_modified_time, reference_number.", + "enum": null, + "inferrable": true + }, + { + "name": "pagination_page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve results from for pagination. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "pagination_records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of vendor credit records to return per page. The default value is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_credits'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListVendorCredits", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "vendor_credit_number_filter": { + "value": "startswith:VC-2026", + "type": "string", + "required": false + }, + "filter_by_creation_date": { + "value": "date_start:2026-01-01,date_end:2026-01-31", + "type": "string", + "required": false + }, + "vendor_credit_status": { + "value": "open", + "type": "string", + "required": false + }, + "total_amount_filter": { + "value": "total_greater_than:1000.00", + "type": "string", + "required": false + }, + "reference_number_filter": { + "value": "contains:REF-2026", + "type": "string", + "required": false + }, + "filter_by_vendor_name": { + "value": "startswith:Acme Corp", + "type": "string", + "required": false + }, + "filter_by_item_name": { + "value": "contains:Widget", + "type": "string", + "required": false + }, + "item_description_filter": { + "value": "contains:premium quality", + "type": "string", + "required": false + }, + "filter_by_notes_content": { + "value": "notes_contains:refund approved", + "type": "string", + "required": false + }, + "filter_by_custom_field": { + "value": "custom_field_contains:Project X", + "type": "string", + "required": false + }, + "filter_by_last_modified_time": { + "value": "2026-02-10T15:30:00-05:00", + "type": "string", + "required": false + }, + "filter_by_customer_id": { + "value": 98765, + "type": "integer", + "required": false + }, + "filter_by_line_item_id": { + "value": 54321, + "type": "integer", + "required": false + }, + "filter_by_item_id": { + "value": 112233, + "type": "integer", + "required": false + }, + "filter_by_tax_id": { + "value": 77, + "type": "integer", + "required": false + }, + "filter_by_status": { + "value": "Status.Open", + "type": "string", + "required": false + }, + "search_text": { + "value": "VC-2026 Acme REF-2026", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "pagination_page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "pagination_records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListVendorPaymentRefunds", + "qualifiedName": "ZohoBooksApi.ListVendorPaymentRefunds", + "fullyQualifiedName": "ZohoBooksApi.ListVendorPaymentRefunds@1.0.0", + "description": "List all refunds for a vendor payment.\n\nRetrieve a list of all refunds associated with a specific vendor payment in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books to list the refunds for. This should be a unique identifier as specified by Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor payment to fetch refunds for.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to be fetched, starting from 1. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_payment_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListVendorPaymentRefunds", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "5000123456789001", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListVendorPayments", + "qualifiedName": "ZohoBooksApi.ListVendorPayments", + "fullyQualifiedName": "ZohoBooksApi.ListVendorPayments@1.0.0", + "description": "Fetch all payments made to vendors.\n\nUse this tool to retrieve a list of all vendor payments. It helps manage and track financial transactions with vendors.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization whose vendor payments you want to list.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_name_query", + "type": "string", + "required": false, + "description": "Search payments by vendor name using parameters like startswith or contains.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_reference_number", + "type": "string", + "required": false, + "description": "Search payments using the reference number. Supports variants: 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_number_search", + "type": "string", + "required": false, + "description": "Search payments using the payment number with options for exact match, starts with, or contains.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_date_filter", + "type": "string", + "required": false, + "description": "Specify the date for payment filtering. Use variants like 'date_start', 'date_end', 'date_before', and 'date_after'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_amount_filter", + "type": "number", + "required": false, + "description": "Filter payments by amount paid to the vendor. Use variants: 'less_than', 'less_equals', 'greater_than', 'greater_equals' to specify the condition.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_payment_mode", + "type": "string", + "required": false, + "description": "Search payments by payment mode using variants like 'startswith' or 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_with_payment_notes", + "type": "string", + "required": false, + "description": "Search payments using notes with options like startswith or contains.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_id", + "type": "string", + "required": false, + "description": "The unique ID of the vendor, used to search payments by vendor ID.", + "enum": null, + "inferrable": true + }, + { + "name": "last_modified_time_filter", + "type": "string", + "required": false, + "description": "Filter vendor payments by their last modified time. Use a date-time string in ISO 8601 format.", + "enum": null, + "inferrable": true + }, + { + "name": "search_payments_by_bill_id", + "type": "string", + "required": false, + "description": "Search payments using the specific Bill ID associated with the transaction.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_description", + "type": "string", + "required": false, + "description": "Search payments by description. Use 'description_startswith' or 'description_contains' variants for specific matches.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_payment_mode", + "type": "string", + "required": false, + "description": "Filter payments by payment mode. Options include All, Check, Cash, BankTransfer, Paypal, CreditCard, GoogleCheckout, Credit, Authorizenet, BankRemittance, Payflowpro, and Others.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Search for payments using reference number, vendor name, or payment description.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_payments_by", + "type": "string", + "required": false, + "description": "Sort payments by column. Options: vendor_name, date, reference_number, amount, balance.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Specify the page number of results to fetch. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListVendorPayments", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "vendor_name_query": { + "value": "startswith:Acme", + "type": "string", + "required": false + }, + "search_by_reference_number": { + "value": "contains:INV-2025", + "type": "string", + "required": false + }, + "payment_number_search": { + "value": "equals:PMT-1001", + "type": "string", + "required": false + }, + "payment_date_filter": { + "value": "date_start:2025-01-01,date_end:2025-01-31", + "type": "string", + "required": false + }, + "payment_amount_filter": { + "value": 1500, + "type": "integer", + "required": false + }, + "search_by_payment_mode": { + "value": "contains:Check", + "type": "string", + "required": false + }, + "search_with_payment_notes": { + "value": "contains:retainer", + "type": "string", + "required": false + }, + "vendor_id": { + "value": "VEND-98765", + "type": "string", + "required": false + }, + "last_modified_time_filter": { + "value": "2025-02-10T12:00:00Z", + "type": "string", + "required": false + }, + "search_payments_by_bill_id": { + "value": "BILL-54321", + "type": "string", + "required": false + }, + "search_by_description": { + "value": "description_contains:office supplies", + "type": "string", + "required": false + }, + "filter_payment_mode": { + "value": "BankTransfer", + "type": "string", + "required": false + }, + "search_text": { + "value": "Acme invoice", + "type": "string", + "required": false + }, + "sort_payments_by": { + "value": "date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "LogTimeEntries", + "qualifiedName": "ZohoBooksApi.LogTimeEntries", + "fullyQualifiedName": "ZohoBooksApi.LogTimeEntries@1.0.0", + "description": "Log time entries in Zoho Books.\n\n Use this tool to log time entries for projects in Zoho Books. It should be called when you need to track time spent on project tasks.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required for logging time entries. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_time_entries'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.LogTimeEntries", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"time_entries\":[{\"project_id\":\"9876543210\",\"task_id\":\"112233\",\"user_id\":\"556677\",\"date\":\"2026-02-17\",\"hours\":2.5,\"billable\":true,\"notes\":\"Design review and revisions\",\"start_time\":\"09:00\",\"end_time\":\"11:30\"},{\"project_id\":\"9876543210\",\"task_id\":\"445566\",\"user_id\":\"556677\",\"date\":\"2026-02-17\",\"hours\":1.0,\"billable\":false,\"notes\":\"Team meeting\",\"start_time\":\"14:00\",\"end_time\":\"15:00\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkBillOpen", + "qualifiedName": "ZohoBooksApi.MarkBillOpen", + "fullyQualifiedName": "ZohoBooksApi.MarkBillOpen@1.0.0", + "description": "Mark a void bill as open in Zoho Books.\n\nUse this tool to change the status of a void bill to open in Zoho Books. Call this tool when you need to reactivate a bill that was previously voided.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization in Zoho Books to mark the bill as open.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to mark as open in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_bill_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkBillOpen", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bill_id": { + "value": "BILL-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkBillVoid", + "qualifiedName": "ZohoBooksApi.MarkBillVoid", + "fullyQualifiedName": "ZohoBooksApi.MarkBillVoid@1.0.0", + "description": "Mark a bill as void in Zoho Books.\n\nUse this tool to update the status of a bill to void in Zoho Books when you need to cancel or invalidate a bill.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Used to specify which organization's bill should be marked as void.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to mark as void in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_bill_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkBillVoid", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkContactInactive", + "qualifiedName": "ZohoBooksApi.MarkContactInactive", + "fullyQualifiedName": "ZohoBooksApi.MarkContactInactive@1.0.0", + "description": "Mark a Zoho Books contact as inactive.\n\nUse this tool to mark a contact as inactive in Zoho Books, allowing for better organization and active contact management.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact in Zoho Books. Required to specify which contact to mark as inactive.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_contact_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkContactInactive", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "contact_identifier": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkCreditNoteOpen", + "qualifiedName": "ZohoBooksApi.MarkCreditNoteOpen", + "fullyQualifiedName": "ZohoBooksApi.MarkCreditNoteOpen@1.0.0", + "description": "Convert a draft credit note to open status in Zoho Books.\n\nUse this tool to change the status of a credit note from Draft to Open in Zoho Books. This is helpful when you need to activate a credit note that has been prepared and saved as a draft.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be converted to Open status.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_credit_note_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkCreditNoteOpen", + "parameters": { + "organization_id": { + "value": "669453000000123456", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "669453000001234567", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkCreditNoteVoid", + "qualifiedName": "ZohoBooksApi.MarkCreditNoteVoid", + "fullyQualifiedName": "ZohoBooksApi.MarkCreditNoteVoid@1.0.0", + "description": "Marks a credit note as void in Zoho Books.\n\nUse this tool to mark a specific credit note as void, altering its status in the Zoho Books system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books to mark the credit note as void.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to mark as void in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_credit_note_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkCreditNoteVoid", + "parameters": { + "organization_id": { + "value": "60234567890", + "type": "string", + "required": true + }, + "credit_note_identifier": { + "value": "CN-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkEstimateAsSent", + "qualifiedName": "ZohoBooksApi.MarkEstimateAsSent", + "fullyQualifiedName": "ZohoBooksApi.MarkEstimateAsSent@1.0.0", + "description": "Mark a draft estimate as sent.\n\nUse this tool to mark a draft estimate in Zoho Books as sent. Call this when you need to update the status of an estimate to indicate it has been sent to a client.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to identify which organization's estimate to mark as sent.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the estimate to be marked as sent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_estimate_sent'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkEstimateAsSent", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkFixedAssetAsDraft", + "qualifiedName": "ZohoBooksApi.MarkFixedAssetAsDraft", + "fullyQualifiedName": "ZohoBooksApi.MarkFixedAssetAsDraft@1.0.0", + "description": "Set a fixed asset status to draft in Zoho Books.\n\nUse this tool to change the status of a specific fixed asset to draft in Zoho Books. This is useful when revising asset details or temporarily removing it from active use.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the fixed asset status will be changed.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_fixed_asset_draft'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkFixedAssetAsDraft", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkInvoiceAsDraft", + "qualifiedName": "ZohoBooksApi.MarkInvoiceAsDraft", + "fullyQualifiedName": "ZohoBooksApi.MarkInvoiceAsDraft@1.0.0", + "description": "Mark a voided invoice as draft in Zoho Books.\n\nThis tool is used to change the status of a voided invoice to draft in Zoho Books. It should be called when there is a need to edit or resubmit an invoice previously marked as void.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to be marked as draft.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_invoice_draft'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkInvoiceAsDraft", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkInvoiceAsSent", + "qualifiedName": "ZohoBooksApi.MarkInvoiceAsSent", + "fullyQualifiedName": "ZohoBooksApi.MarkInvoiceAsSent@1.0.0", + "description": "Mark a draft invoice as sent.\n\nUse this tool to change the status of a draft invoice to 'sent'. Ideal for when an invoice is ready to be sent out to a client.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier of the organization for which the invoice will be marked as sent.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to be marked as sent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_invoice_sent'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkInvoiceAsSent", + "parameters": { + "organization_id": { + "value": "ORG_6543210987", + "type": "string", + "required": true + }, + "invoice_unique_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkInvoiceSent", + "qualifiedName": "ZohoBooksApi.MarkInvoiceSent", + "fullyQualifiedName": "ZohoBooksApi.MarkInvoiceSent@1.0.0", + "description": "Marks a draft retainer invoice as sent.\n\nUse this tool to update the status of a draft retainer invoice to 'sent' in Zoho Books. This is useful when you need to track the invoice as having been dispatched to a client.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This ID is necessary to specify which organization's invoice should be marked as sent.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to be marked as sent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_retainer_invoice_sent'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkInvoiceSent", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkItemInactive", + "qualifiedName": "ZohoBooksApi.MarkItemInactive", + "fullyQualifiedName": "ZohoBooksApi.MarkItemInactive@1.0.0", + "description": "Mark an item as inactive in Zoho Books.\n\nUse this tool to mark an active item as inactive in Zoho Books. Useful for managing inventory and item status.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required for specifying which organization's item to mark as inactive.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the item to be marked inactive.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_item_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkItemInactive", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "item_identifier": { + "value": "ITEM-ABC-123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkLocationInactive", + "qualifiedName": "ZohoBooksApi.MarkLocationInactive", + "fullyQualifiedName": "ZohoBooksApi.MarkLocationInactive@1.0.0", + "description": "Marks a specific location as inactive in Zoho Books.\n\nUse this tool to set a location's status to inactive within Zoho Books. This is helpful for managing locations that are no longer in use.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books to mark the location as inactive.", + "enum": null, + "inferrable": true + }, + { + "name": "location_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the location to be marked as inactive in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_location_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkLocationInactive", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "location_identifier": { + "value": "LOC-00123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkPrimaryContactPerson", + "qualifiedName": "ZohoBooksApi.MarkPrimaryContactPerson", + "fullyQualifiedName": "ZohoBooksApi.MarkPrimaryContactPerson@1.0.0", + "description": "Mark a contact person as primary for a contact.\n\nUse this tool to designate a specific contact person as the primary contact for a particular contact. Useful for managing contact hierarchies within an organization.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This is required to specify which organization's contact is being updated.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_person_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the contact person to be marked as primary.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_contact_person_primary'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkPrimaryContactPerson", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "contact_person_identifier": { + "value": "6543210000000123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkPurchaseOrderBilled", + "qualifiedName": "ZohoBooksApi.MarkPurchaseOrderBilled", + "fullyQualifiedName": "ZohoBooksApi.MarkPurchaseOrderBilled@1.0.0", + "description": "Mark a purchase order as billed in Zoho Books.\n\nUse this tool to update the status of a purchase order to 'billed' in Zoho Books. This is useful when a purchase order has been fulfilled and needs to be recorded as billed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. Required to perform actions within the specified organization.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to be marked as billed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_purchase_order_billed'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkPurchaseOrderBilled", + "parameters": { + "organization_id": { + "value": "67234567890", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkRetainerInvoiceAsDraft", + "qualifiedName": "ZohoBooksApi.MarkRetainerInvoiceAsDraft", + "fullyQualifiedName": "ZohoBooksApi.MarkRetainerInvoiceAsDraft@1.0.0", + "description": "Mark a voided retainer invoice as draft.\n\nUse this tool to change the status of a voided retainer invoice back to draft. This is useful when you need to reuse or edit a voided invoice within Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to be marked as draft.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_retainer_invoice_draft'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkRetainerInvoiceAsDraft", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "98765432123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkSalesOrderAsVoid", + "qualifiedName": "ZohoBooksApi.MarkSalesOrderAsVoid", + "fullyQualifiedName": "ZohoBooksApi.MarkSalesOrderAsVoid@1.0.0", + "description": "Mark a sales order as void in Zoho Books.\n\n Use this tool to transition a specified sales order to a void status, effectively canceling it within Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier for the specific sales order to be marked as void. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_sales_order_as_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkSalesOrderAsVoid", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "35900000000012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"reason\":\"Customer requested cancellation\",\"voided_date\":\"2026-02-18\",\"notes\":\"Voided due to duplicate order\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkVendorCreditVoid", + "qualifiedName": "ZohoBooksApi.MarkVendorCreditVoid", + "fullyQualifiedName": "ZohoBooksApi.MarkVendorCreditVoid@1.0.0", + "description": "Mark an existing vendor credit as void in Zoho Books.\n\nUse this tool to mark a specific vendor credit as void. Typically called when you need to invalidate a previously issued vendor credit in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to be marked as void.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_vendor_credit_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkVendorCreditVoid", + "parameters": { + "organization_id": { + "value": "543210987654321", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MatchBankTransaction", + "qualifiedName": "ZohoBooksApi.MatchBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.MatchBankTransaction@1.0.0", + "description": "Match an uncategorized bank transaction with an existing one.\n\n Use this tool to match an uncategorized transaction with an existing transaction in Zoho Books, ensuring proper categorization and reconciliation.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to be matched. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id", + "type": "string", + "required": false, + "description": "The mandatory Account ID for listing transactions to match. This is required to specify the bank account in Zoho Books. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'match_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MatchBankTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "bt_9876543210", + "type": "string", + "required": false + }, + "account_id": { + "value": "acc_00112233", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"match_transaction_id\":\"txn_000123\",\"matched_amount\":150.00,\"match_date\":\"2026-02-15\",\"notes\":\"Matched uncategorized bank transaction to existing sales receipt txn_000123\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ModifyInvoice", + "qualifiedName": "ZohoBooksApi.ModifyInvoice", + "fullyQualifiedName": "ZohoBooksApi.ModifyInvoice@1.0.0", + "description": "Update an existing invoice in Zoho Books.\n\n This tool updates the information of an existing retainer invoice in Zoho Books. Use it when you need to modify invoice details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization within Zoho Books to which the retainer invoice belongs. This is required to ensure the update is applied to the correct entity. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the retainer invoice to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ModifyInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"54321\",\"date\":\"2026-02-01\",\"due_date\":\"2026-02-28\",\"reference_number\":\"RET-2026-001\",\"line_items\":[{\"item_id\":\"1001\",\"description\":\"Website maintenance retainer\",\"rate\":1500.00,\"quantity\":1}],\"notes\":\"Monthly retainer for ongoing support\",\"status\":\"draft\",\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Website Revamp\"}],\"discount\":0.0,\"adjustment\":0.0}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ModifyInvoiceAddress", + "qualifiedName": "ZohoBooksApi.ModifyInvoiceAddress", + "fullyQualifiedName": "ZohoBooksApi.ModifyInvoiceAddress@1.0.0", + "description": "Update the billing address for a specific invoice.\n\n Use this tool to update the billing address for a particular invoice in Zoho Books. It modifies the address details for a specified invoice.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique string ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ModifyInvoiceAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "inv_000123456", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"Jane Smith\",\"address\":\"200 Market Street\",\"place\":\"Floor 5\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"phone\":\"+1-415-555-0150\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ModifyRecurringExpense", + "qualifiedName": "ZohoBooksApi.ModifyRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.ModifyRecurringExpense@1.0.0", + "description": "Update a recurring expense in Zoho Books.\n\n Use this tool to modify details of an existing recurring expense in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Provide the ID of the organization for which the recurring expense needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the recurring expense to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ModifyRecurringExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "recurring_expense_identifier": { + "value": "RECUR_EXP_98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"recurring_expense\":{\"expense_number\":\"EXP-2026-001\",\"vendor_id\":\"VEND12345\",\"reference_number\":\"REF-789\",\"date\":\"2026-03-01\",\"frequency\":\"monthly\",\"repeat_every\":1,\"next_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"currency_id\":\"USD\",\"notes\":\"Updated recurring expense for software subscription.\",\"line_items\":[{\"account_id\":\"ACCT54321\",\"description\":\"Monthly subscription\",\"rate\":99.99,\"quantity\":1,\"tax_id\":\"TAX001\"}],\"is_inclusive_tax\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ModifyRetainerInvoiceTemplate", + "qualifiedName": "ZohoBooksApi.ModifyRetainerInvoiceTemplate", + "fullyQualifiedName": "ZohoBooksApi.ModifyRetainerInvoiceTemplate@1.0.0", + "description": "Update the PDF template for a retainer invoice.\n\nUse this tool to update the PDF template associated with a specific retainer invoice by providing the retainer invoice ID and the template ID. It should be called when you need to change the appearance or format of a retainer invoice.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The ID of the organization to update the retainer invoice template for. It should be a string representing the organization's unique identifier in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier for the retainer invoice to update the PDF template.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_template_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice template.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_retainer_invoice_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ModifyRetainerInvoiceTemplate", + "parameters": { + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "RI-2026-0001", + "type": "string", + "required": true + }, + "retainer_invoice_template_id": { + "value": "tmpl_5f3a9b2c", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "OpenPurchaseOrder", + "qualifiedName": "ZohoBooksApi.OpenPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.OpenPurchaseOrder@1.0.0", + "description": "Mark a draft purchase order as open.\n\nUse this tool to change the status of a draft purchase order to 'open' in Zoho Books, making it active and processable. Call this when you need to activate draft purchase orders.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books whose purchase order status needs to be changed.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the purchase order to be marked as open.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_purchase_order_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.OpenPurchaseOrder", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "purchase_order_identifier": { + "value": "PO-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "OpenSalesOrder", + "qualifiedName": "ZohoBooksApi.OpenSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.OpenSalesOrder@1.0.0", + "description": "Mark a draft sales order as open in Zoho Books.\n\nUse this tool to change the status of a draft sales order to open in Zoho Books. This is useful when a sales order needs to be moved from draft status to active status, indicating it's ready for further processing.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization where the sales order is to be marked as open.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to mark as open in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_sales_order_as_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.OpenSalesOrder", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "OpenVendorCreditStatus", + "qualifiedName": "ZohoBooksApi.OpenVendorCreditStatus", + "fullyQualifiedName": "ZohoBooksApi.OpenVendorCreditStatus@1.0.0", + "description": "Change a vendor credit status to open in Zoho Books.\n\nUse this tool to update the status of an existing vendor credit to 'open' in Zoho Books. This is useful when you need to reactivate a vendor credit for further processing or adjustments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books whose vendor credit status needs to be marked as open.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to be marked as open.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_vendor_credit_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.OpenVendorCreditStatus", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "PostProjectComment", + "qualifiedName": "ZohoBooksApi.PostProjectComment", + "fullyQualifiedName": "ZohoBooksApi.PostProjectComment@1.0.0", + "description": "Post a comment to a specified project.\n\n This tool posts a comment to a specific project in Zoho Books. Use it when you need to add a comment or note to a project for tracking or communication purposes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the organization for which the comment is being posted. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the project in Zoho Books. Required to specify the target project for adding a comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_project_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.PostProjectComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": false + }, + "project_unique_identifier": { + "value": "proj_8f3b2a1c", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"content\":\"Completed initial milestone. Next: QA testing.\",\"is_private\":false,\"notify_users\":[\"alice@example.com\",\"bob@example.com\"]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "PublishDraftJournal", + "qualifiedName": "ZohoBooksApi.PublishDraftJournal", + "fullyQualifiedName": "ZohoBooksApi.PublishDraftJournal@1.0.0", + "description": "Mark a draft journal as published in Zoho Books.\n\nUse this tool to change the status of a draft journal entry to published within Zoho Books. This can be helpful when a draft is ready for final publication.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books. Required to identify the organization where the journal resides.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the journal to be marked as published.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_journal_published'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.PublishDraftJournal", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "journal_identifier": { + "value": "JNL-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RefundCreditNote", + "qualifiedName": "ZohoBooksApi.RefundCreditNote", + "fullyQualifiedName": "ZohoBooksApi.RefundCreditNote@1.0.0", + "description": "Process a credit note refund in Zoho Books.\n\n Use this tool to issue a refund for a specified credit note in Zoho Books. It is triggered when there's a need to reimburse the amount associated with a credit note.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books for which the credit note refund is being processed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to refund. This is required to specify which credit note the refund applies to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_credit_note_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RefundCreditNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "CN-98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund_account_id\":\"123456789\",\"refund_date\":\"2026-02-18\",\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"RT-2026-1001\",\"amount\":150.00,\"notes\":\"Refund issued for credit note overpayment\",\"is_partial_refund\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RefundExcessPayment", + "qualifiedName": "ZohoBooksApi.RefundExcessPayment", + "fullyQualifiedName": "ZohoBooksApi.RefundExcessPayment@1.0.0", + "description": "Refund the excess amount paid by a customer.\n\n Use this tool to refund any excess amount received from a customer payment. It is called when there is a need to process a refund for overpaid amounts in customer transactions.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization to process the refund under. Ensure this matches the ID in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the customer's payment to be refunded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_customer_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RefundExcessPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "customer_payment_identifier": { + "value": "PAYMENT_98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund\": {\"amount\": 150.00, \"currency\": \"USD\", \"payment_mode\": \"Bank Transfer\", \"reference_number\": \"REF123456\", \"refund_date\": \"2026-02-18\", \"notes\": \"Refund for overpayment of invoice INV-1001\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RefundVendorCredit", + "qualifiedName": "ZohoBooksApi.RefundVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.RefundVendorCredit@1.0.0", + "description": "Process a refund for vendor credit.\n\n Use this tool to initiate a refund for a specified vendor credit. Suitable when needing to refund amounts credited to a vendor.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the vendor credit refund is being processed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor credit that needs to be refunded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'refund_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RefundVendorCredit", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6051234567890123456", + "type": "string", + "required": false + }, + "vendor_credit_identifier": { + "value": "VC-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_credit_refund\":{\"refund_date\":\"2026-02-15\",\"refund_amount\":150.00,\"bank_account_id\":\"1234567890\",\"payment_mode\":\"bank_transfer\",\"reference_number\":\"REF-2026-0001\",\"notes\":\"Refund for vendor credit VC-1001\",\"apply_to_transactions\":[{\"transaction_id\":\"TXN-2001\",\"amount_applied\":100.00},{\"transaction_id\":\"TXN-2002\",\"amount_applied\":50.00}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RefundVendorOverpayment", + "qualifiedName": "ZohoBooksApi.RefundVendorOverpayment", + "fullyQualifiedName": "ZohoBooksApi.RefundVendorOverpayment@1.0.0", + "description": "Refund excess amount paid to a vendor.\n\n Use this tool to process a refund for any excess amount that has been paid to a vendor. This should be called when an overpayment needs to be returned to the vendor.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID representing the organization. Required to refund vendor overpayment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_id", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor payment to be refunded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'refund_excess_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RefundVendorOverpayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "ORG_112233", + "type": "string", + "required": false + }, + "vendor_payment_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"VENDOR123\",\"payment_id\":\"987654321\",\"refund_date\":\"2025-01-15\",\"amount\":150.00,\"currency_code\":\"USD\",\"account_id\":\"ACC789\",\"refund_mode\":\"Bank Transfer\",\"reference_number\":\"REF-20250115\",\"notes\":\"Refund of overpayment\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RejectPurchaseOrder", + "qualifiedName": "ZohoBooksApi.RejectPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.RejectPurchaseOrder@1.0.0", + "description": "Reject a specific purchase order in Zoho Books.\n\nThis tool should be called when you need to reject a purchase order in the Zoho Books system. It confirms the rejection of the specified purchase order.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "A unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "The ID of the purchase order to be rejected in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'reject_purchase_orders'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RejectPurchaseOrder", + "parameters": { + "organization_identifier": { + "value": "org_123456789", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemindCustomerInvoicePayment", + "qualifiedName": "ZohoBooksApi.RemindCustomerInvoicePayment", + "fullyQualifiedName": "ZohoBooksApi.RemindCustomerInvoicePayment@1.0.0", + "description": "Remind customers of unpaid invoices by email.\n\n Use this tool to notify customers about unpaid invoices through email. It works for invoices that are open or overdue.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. It specifies which organization's invoice reminders to manage. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to send a payment reminder for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "Comma-separated list of file URLs to attach to the reminder email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "include_customer_statement_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to include a customer statement PDF with the email reminder. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'remind_customer_for_invoice_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemindCustomerInvoicePayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "https://files.acme.example.com/terms.pdf,https://files.acme.example.com/invoice-attachments/INV-1001.pdf", + "type": "string", + "required": false + }, + "include_customer_statement_pdf": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"Payment reminder for Invoice INV-1001\",\"message\":\"Dear Customer,\\n\\nThis is a friendly reminder that invoice INV-1001 for $1,250.00 is due on 2026-03-01. Please make the payment at your earliest convenience.\\n\\nThank you,\\nAcme Corp\",\"send_immediately\":true,\"reminder_date\":\"2026-02-18\",\"cc_emails\":[\"accounting@acme.example.com\"],\"notes\":\"First reminder via email\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveCurrency", + "qualifiedName": "ZohoBooksApi.RemoveCurrency", + "fullyQualifiedName": "ZohoBooksApi.RemoveCurrency@1.0.0", + "description": "Remove a specific currency from the system.\n\nThis tool deletes a currency. It should be used when a currency that is no longer needed should be removed, as long as it is not associated with any transactions.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID representing the organization for which the currency deletion is requested.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the currency to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_currency'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveCurrency", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "currency_identifier": { + "value": "EUR", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveInvoiceCredit", + "qualifiedName": "ZohoBooksApi.RemoveInvoiceCredit", + "fullyQualifiedName": "ZohoBooksApi.RemoveInvoiceCredit@1.0.0", + "description": "Remove a specific credit applied to an invoice.\n\nUse this tool to delete a particular credit that has been applied to an invoice when adjustments are needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization from which the credit is being removed.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to remove a credit from.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note invoice to be removed from the invoice.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_applied_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveInvoiceCredit", + "parameters": { + "organization_id": { + "value": "8473920000001234567", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "credit_note_invoice_id": { + "value": "8473920000007654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveUserFromOrganization", + "qualifiedName": "ZohoBooksApi.RemoveUserFromOrganization", + "fullyQualifiedName": "ZohoBooksApi.RemoveUserFromOrganization@1.0.0", + "description": "Delete a user from the organization.\n\nThis tool removes a specified user from the organization in Zoho Books. It should be called when there is a need to delete a user's access or association with the organization.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization from which the user will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "user_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the user to be deleted from the organization.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveUserFromOrganization", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "user_unique_identifier": { + "value": "f47ac10b-58cc-4372-a567-0e02b2c3d479", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveUserFromProject", + "qualifiedName": "ZohoBooksApi.RemoveUserFromProject", + "fullyQualifiedName": "ZohoBooksApi.RemoveUserFromProject@1.0.0", + "description": "Remove a user from a specific project in Zoho Books.\n\nThis tool is used to remove a user from a project within Zoho Books. Call this tool when you need to manage project participants by deleting a user's access to a particular project.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the project from which the user will be removed.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the user to be removed from the project.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveUserFromProject", + "parameters": { + "organization_id": { + "value": "org_1a2b3c4d5e", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "proj_9876abcd", + "type": "string", + "required": true + }, + "user_identifier": { + "value": "user_00a1b2c3", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveVendorBillCredit", + "qualifiedName": "ZohoBooksApi.RemoveVendorBillCredit", + "fullyQualifiedName": "ZohoBooksApi.RemoveVendorBillCredit@1.0.0", + "description": "Delete credits applied to a vendor bill.\n\nUse this tool to remove credits applied to a specific vendor bill using the vendor_credit_id and vendor_credit_bill_id.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the vendor credit bill is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit to be deleted. Required for bill credit removal.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit bill to delete the applied credits.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_credit_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveVendorBillCredit", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2026-0001", + "type": "string", + "required": true + }, + "vendor_credit_bill_identifier": { + "value": "VCB-2026-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RestoreBankTransaction", + "qualifiedName": "ZohoBooksApi.RestoreBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.RestoreBankTransaction@1.0.0", + "description": "Restores an excluded bank transaction in your account.\n\nUse this tool to recover a previously excluded bank transaction in your Zoho Books account, identified by the transaction ID. It should be called when you need to reinstate transactions that were mistakenly removed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the Zoho Books organization to restore the transaction for.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "The unique identifier for the specific bank transaction to be restored.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id", + "type": "string", + "required": false, + "description": "Mandatory Account ID for which transactions are to be restored.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'restore_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RestoreBankTransaction", + "parameters": { + "organization_id": { + "value": "70901234567", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "BTX-20250203-001", + "type": "string", + "required": true + }, + "account_id": { + "value": "ACC-4001", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ResumeRecurringBill", + "qualifiedName": "ZohoBooksApi.ResumeRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.ResumeRecurringBill@1.0.0", + "description": "Resume a stopped recurring bill in Zoho Books.\n\nUse this tool to restart a suspended recurring bill in Zoho Books, ensuring payments continue as scheduled.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": true, + "description": "Provide the unique identifier of the recurring bill to resume it in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'resume_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ResumeRecurringBill", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "recurring_bill_identifier": { + "value": "RB-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ResumeRecurringExpense", + "qualifiedName": "ZohoBooksApi.ResumeRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.ResumeRecurringExpense@1.0.0", + "description": "Resumes a stopped recurring expense cycle.\n\nUse this tool to restart a recurring expense that has been previously paused in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": true, + "description": "The unique identifier for the recurring expense to be resumed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'resume_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ResumeRecurringExpense", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "recurring_expense_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ResumeRecurringInvoice", + "qualifiedName": "ZohoBooksApi.ResumeRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.ResumeRecurringInvoice@1.0.0", + "description": "Resumes a stopped recurring invoice.\n\n Use this tool to resume a recurring invoice that has been paused.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization whose invoice needs to be resumed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the recurring invoice to be resumed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'resume_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ResumeRecurringInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6001234567", + "type": "string", + "required": false + }, + "recurring_invoice_id": { + "value": "RI-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"resume_date\":\"2026-03-01\",\"notes\":\"Resuming recurring invoice upon client request\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveBillAttachment", + "qualifiedName": "ZohoBooksApi.RetrieveBillAttachment", + "fullyQualifiedName": "ZohoBooksApi.RetrieveBillAttachment@1.0.0", + "description": "Retrieve the attachment from a specific bill.\n\nCall this tool to get the file attached to a bill using its bill ID. Useful for accessing invoices or related documents stored in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to specify which organization's bill attachment to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the bill to retrieve its attachment.", + "enum": null, + "inferrable": true + }, + { + "name": "get_thumbnail", + "type": "boolean", + "required": false, + "description": "Set to true to get the thumbnail of the attachment instead of the full file.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bill_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveBillAttachment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-001", + "type": "string", + "required": true + }, + "get_thumbnail": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveBillDetails", + "qualifiedName": "ZohoBooksApi.RetrieveBillDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveBillDetails@1.0.0", + "description": "Retrieve the details of a specific bill.\n\nUse this tool to get comprehensive details about a specific bill by providing its ID. Useful for retrieving bill information such as amount, due date, or vendor details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which the bill details are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to retrieve its details. This should be provided as a string.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveBillDetails", + "parameters": { + "organization_id": { + "value": "987654321", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveContactDetails", + "qualifiedName": "ZohoBooksApi.RetrieveContactDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveContactDetails@1.0.0", + "description": "Retrieve comprehensive details of a specific contact.\n\nThis tool should be called to access complete information about a contact, including basic details, addresses, payment terms, and financial data such as outstanding amounts and transaction history.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which the contact details are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": true, + "description": "Unique identifier for the contact to retrieve detailed information.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveContactDetails", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "contact_id": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveContactList", + "qualifiedName": "ZohoBooksApi.RetrieveContactList", + "fullyQualifiedName": "ZohoBooksApi.RetrieveContactList@1.0.0", + "description": "Retrieve and filter a list of contacts from Zoho Books.\n\nUse this tool to obtain a detailed list of contacts with options for advanced filtering by name, company, status, and more. Ideal for managing contact information and accessing financial data like outstanding amounts and credit limits. Supports pagination for efficient data handling.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Provide the ID of the organization to retrieve relevant contact data.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_contact_by_type", + "type": "string", + "required": false, + "description": "Filter contacts by type. Accepts 'customer' or 'vendor'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_name_filter", + "type": "string", + "required": false, + "description": "Filter contacts by name. Use 'startswith' or 'contains' for match type. Max-length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_company_name", + "type": "string", + "required": false, + "description": "Search contacts by company name. Maximum length is 100 characters. Use variants like 'company_name_startswith' and 'company_name_contains' for different search methods.", + "enum": null, + "inferrable": true + }, + { + "name": "primary_contact_first_name", + "type": "string", + "required": false, + "description": "Search contacts by the first name of the primary contact person. Use 'first_name_startswith' or 'first_name_contains'. Max-length 100.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_name", + "type": "string", + "required": false, + "description": "Search contacts by last name of the primary contact person. Supports 'startswith' or 'contains' options. Max-length 100.", + "enum": null, + "inferrable": true + }, + { + "name": "address_search", + "type": "string", + "required": false, + "description": "Search contacts by address field. Use 'address_startswith' or 'address_contains'. Max-length 100.", + "enum": null, + "inferrable": true + }, + { + "name": "email_search_criteria", + "type": "string", + "required": false, + "description": "Search contacts by email of the primary contact person. Use 'startswith' or 'contains' in the string to specify the search variant. Max length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_phone_number", + "type": "string", + "required": false, + "description": "Search contacts by primary contact's phone number. Supports 'startswith' and 'contains' variants. Max length of 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_status_filter", + "type": "string", + "required": false, + "description": "Filter contacts by status. Options include All, Active, Inactive, Duplicate, PortalEnabled, PortalDisabled, OverDue, Unpaid, CreditLimitExceed, and Crm.", + "enum": null, + "inferrable": true + }, + { + "name": "search_contacts_text", + "type": "string", + "required": false, + "description": "Search contacts using contact name or notes. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort contacts by. Allowed values: contact_name, first_name, last_name, email, outstanding_receivable_amount, created_time, and last_modified_time.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_contact_id", + "type": "string", + "required": false, + "description": "CRM Contact ID to filter specific contact details.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_account_id", + "type": "string", + "required": false, + "description": "Specify the CRM Account ID for the contact to retrieve specific contact details.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_vendor_id", + "type": "string", + "required": false, + "description": "The CRM Vendor ID associated with the contact, used to filter results.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Specify the page number to be fetched. Defaults to 1 if not provided.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "The number of contact records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_contacts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveContactList", + "parameters": { + "organization_identifier": { + "value": "9876543210", + "type": "string", + "required": true + }, + "filter_contact_by_type": { + "value": "customer", + "type": "string", + "required": false + }, + "contact_name_filter": { + "value": "contains:Acme", + "type": "string", + "required": false + }, + "search_by_company_name": { + "value": "company_name_startswith:Acme", + "type": "string", + "required": false + }, + "primary_contact_first_name": { + "value": "first_name_startswith:Jo", + "type": "string", + "required": false + }, + "search_by_last_name": { + "value": "contains:Smith", + "type": "string", + "required": false + }, + "address_search": { + "value": "address_contains:Main St", + "type": "string", + "required": false + }, + "email_search_criteria": { + "value": "contains:example.com", + "type": "string", + "required": false + }, + "contact_phone_number": { + "value": "startswith:+1-555", + "type": "string", + "required": false + }, + "contact_status_filter": { + "value": "Active", + "type": "string", + "required": false + }, + "search_contacts_text": { + "value": "preferred vendor", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "last_modified_time", + "type": "string", + "required": false + }, + "crm_contact_id": { + "value": "CRM_CONTACT_12345", + "type": "string", + "required": false + }, + "crm_account_id": { + "value": "CRM_ACCOUNT_98765", + "type": "string", + "required": false + }, + "crm_vendor_id": { + "value": "CRM_VENDOR_54321", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveCreditNoteEmailHistory", + "qualifiedName": "ZohoBooksApi.RetrieveCreditNoteEmailHistory", + "fullyQualifiedName": "ZohoBooksApi.RetrieveCreditNoteEmailHistory@1.0.0", + "description": "Retrieve the email history of a specific credit note.\n\nUse this tool to get detailed information about the email interactions associated with a specific credit note. Useful for tracking communication history.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which you want to retrieve the credit note email history.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve its email history.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_credit_note_email_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveCreditNoteEmailHistory", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveEstimateDetails", + "qualifiedName": "ZohoBooksApi.RetrieveEstimateDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveEstimateDetails@1.0.0", + "description": "Retrieve the details of a specific estimate.\n\nUse this tool to get information about a particular estimate by providing its ID. It returns the details associated with the specified estimate in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. Required to retrieve estimate details.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_id", + "type": "string", + "required": true, + "description": "Unique identifier of the specific estimate to retrieve details for.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specify the format for the estimate details: json, pdf, or html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to print the exported PDF of the estimate.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveEstimateDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "estimate_id": { + "value": "57580000000440001", + "type": "string", + "required": true + }, + "response_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveExpenseReceipt", + "qualifiedName": "ZohoBooksApi.RetrieveExpenseReceipt", + "fullyQualifiedName": "ZohoBooksApi.RetrieveExpenseReceipt@1.0.0", + "description": "Retrieve the receipt attached to an expense.\n\nUse this tool to obtain the receipt attached to a specific expense entry in Zoho Books. It is useful for reviewing or auditing expense details by accessing the actual receipt document.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to retrieve the expense receipt.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the expense to retrieve its receipt. Required for locating the specific expense in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "get_receipt_thumbnail", + "type": "boolean", + "required": false, + "description": "Set to true to get a thumbnail of the receipt; false returns the full receipt.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_expense_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveExpenseReceipt", + "parameters": { + "organization_identifier": { + "value": "6000000000001", + "type": "string", + "required": true + }, + "expense_identifier": { + "value": "5500000000001", + "type": "string", + "required": true + }, + "get_receipt_thumbnail": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveInvoiceDocument", + "qualifiedName": "ZohoBooksApi.RetrieveInvoiceDocument", + "fullyQualifiedName": "ZohoBooksApi.RetrieveInvoiceDocument@1.0.0", + "description": "Retrieve a document attached to a specific invoice.\n\nUse this tool to access and download a document linked to an invoice by specifying the invoice and document IDs.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve the document from.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_id", + "type": "string", + "required": true, + "description": "The unique identifier for the invoice to which the document is attached. Required to retrieve the document.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_document_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific document attached to the invoice. Required to retrieve the exact document.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specify the desired format for the response, such as json, pdf, or html.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_invoice_document_details'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveInvoiceDocument", + "parameters": { + "organization_id": { + "value": "1000000001", + "type": "string", + "required": true + }, + "invoice_id": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "invoice_document_id": { + "value": "DOC-98765", + "type": "string", + "required": true + }, + "response_format": { + "value": "pdf", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveItemDetails", + "qualifiedName": "ZohoBooksApi.RetrieveItemDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveItemDetails@1.0.0", + "description": "Retrieve details of a specific item in Zoho Books.\n\nUse this tool to get detailed information about a specific item in Zoho Books by providing the item ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose item details are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "item_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the item to retrieve details from Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveItemDetails", + "parameters": { + "organization_id": { + "value": "6000123456789012345", + "type": "string", + "required": true + }, + "item_unique_identifier": { + "value": "1000123456789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrievePurchaseOrderAttachment", + "qualifiedName": "ZohoBooksApi.RetrievePurchaseOrderAttachment", + "fullyQualifiedName": "ZohoBooksApi.RetrievePurchaseOrderAttachment@1.0.0", + "description": "Retrieve the file attached to a specific purchase order.\n\nUse this tool to obtain the file attachment from a specific purchase order by providing the purchase order ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID representing the organization. Required to specify which organization's purchase order to access.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "The unique identifier of the purchase order to retrieve the attachment for.", + "enum": null, + "inferrable": true + }, + { + "name": "get_thumbnail", + "type": "boolean", + "required": false, + "description": "Set to true to get the thumbnail of the attachment, or false to retrieve the full file.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_purchase_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrievePurchaseOrderAttachment", + "parameters": { + "organization_identifier": { + "value": "60000000001", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "get_thumbnail": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrievePurchaseOrderDetails", + "qualifiedName": "ZohoBooksApi.RetrievePurchaseOrderDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrievePurchaseOrderDetails@1.0.0", + "description": "Retrieve the details of a purchase order.\n\nUse this tool to get detailed information about a specific purchase order by providing the purchase order ID. Ideal for retrieving purchase order data for review or processing.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Unique ID of the organization to retrieve purchase order details.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Provide the unique identifier of the purchase order to retrieve its details.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specifies the format of the purchase order details. Options: json, pdf, html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Set to True to print the exported PDF of the purchase order.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrievePurchaseOrderDetails", + "parameters": { + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-2026-0001", + "type": "string", + "required": true + }, + "response_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveRetainerInvoiceEmailContent", + "qualifiedName": "ZohoBooksApi.RetrieveRetainerInvoiceEmailContent", + "fullyQualifiedName": "ZohoBooksApi.RetrieveRetainerInvoiceEmailContent@1.0.0", + "description": "Retrieve the email content of a retainer invoice.\n\nThis tool fetches the email content of a specific retainer invoice using the provided invoice ID. It should be called when you need to view or send the email details of a retainer invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization. Required to access retainer invoice emails.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice. Used to fetch the specific email content.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_retainer_invoice_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveRetainerInvoiceEmailContent", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "122000000000345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveTaxGroupDetails", + "qualifiedName": "ZohoBooksApi.RetrieveTaxGroupDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveTaxGroupDetails@1.0.0", + "description": "Retrieve details of a specific tax group.\n\nUse this to obtain information about a specific tax group by its ID in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books to get the tax group details for.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_group_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the tax group in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_tax_group'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveTaxGroupDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "tax_group_identifier": { + "value": "TG_987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveUnusedRetainerPayments", + "qualifiedName": "ZohoBooksApi.RetrieveUnusedRetainerPayments", + "fullyQualifiedName": "ZohoBooksApi.RetrieveUnusedRetainerPayments@1.0.0", + "description": "Retrieve unused retainer payments for a contact.\n\nFetch details of unused retainer payments associated with a specific contact, providing insight into available credit balances.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization to filter retainer payments.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": true, + "description": "The unique identifier for the contact whose unused retainer payments are being retrieved. This is required to specify which contact's data you want to access.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_currency_id", + "type": "string", + "required": false, + "description": "Currency ID to filter unused retainer payments by a specific currency.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_unused_retainer_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveUnusedRetainerPayments", + "parameters": { + "organization_id": { + "value": "447583000000123456", + "type": "string", + "required": true + }, + "contact_id": { + "value": "a0f1b2c3-d4e5-6789-abcd-1234567890ef", + "type": "string", + "required": true + }, + "filter_by_currency_id": { + "value": "USD", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SellFixedAsset", + "qualifiedName": "ZohoBooksApi.SellFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.SellFixedAsset@1.0.0", + "description": "Initiate the sale of a specified fixed asset.\n\n Use this tool to sell a specific fixed asset by providing its asset ID. It should be called when confirming or completing the sale process of a fixed asset in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the fixed asset to be sold. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'sell_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SellFixedAsset", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "fixed_asset_identifier": { + "value": "FA-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"sale_date\":\"2025-02-01\",\"sale_price\":15000.00,\"sale_account_id\":\"50000012345\",\"buyer_name\":\"Acme Corporation\",\"buyer_contact\":\"purchasing@acme.com\",\"reference_number\":\"SALE-2025-001\",\"notes\":\"Asset sold following upgrade\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendEmailToContact", + "qualifiedName": "ZohoBooksApi.SendEmailToContact", + "fullyQualifiedName": "ZohoBooksApi.SendEmailToContact@1.0.0", + "description": "Send an email directly to a specified contact.\n\n Use this tool to send an email to a contact by specifying their contact ID. Ideal for communicating directly with contacts via email.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the contact belongs. It is required for sending the email. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": false, + "description": "Unique identifier for the contact to send the email to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_customer_statement_with_email", + "type": "boolean", + "required": false, + "description": "Indicate if a customer statement PDF should be sent with the email. Use 'true' to send, 'false' otherwise. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendEmailToContact", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "60012345678", + "type": "string", + "required": false + }, + "contact_id": { + "value": "70098765432", + "type": "string", + "required": false + }, + "send_customer_statement_with_email": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"Invoice Payment Reminder\",\"content\":\"Dear Customer,\\n\\nPlease find attached your latest invoice. Please let us know if you have any questions or need an extension on the payment.\\n\\nBest regards,\\nAcme Corp Billing Team\",\"from_mail_id\":\"billing@acmecorp.com\",\"to_mail_ids\":[\"contact@example.com\"],\"cc_mail_ids\":[\"accounting@acmecorp.com\"],\"bcc_mail_ids\":[],\"attachments\":[],\"include_pdf_invoice\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendEstimateEmail", + "qualifiedName": "ZohoBooksApi.SendEstimateEmail", + "fullyQualifiedName": "ZohoBooksApi.SendEstimateEmail@1.0.0", + "description": "Send an email estimate to a customer.\n\n Use this tool to email an estimate to a customer. If no specific content is provided, the default email content will be used.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization. This ID is required to send an estimate email. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the estimate to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "Files to be attached to the email estimate. Provide file paths or URLs. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendEstimateEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-1001", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "https://cdn.example.com/estimates/EST-1001.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"Estimate #EST-1001\",\"message\":\"Hello John,\\n\\nPlease find the attached estimate for your review. Let us know if you have any questions.\\n\\nBest regards,\\nAcme Corp\",\"to_mail_ids\":[\"john.doe@example.com\"],\"cc_mail_ids\":[\"sales@acme.example.com\"],\"bcc_mail_ids\":[],\"send_from_org_email_id\":\"billing@acme.example.com\",\"notify_customer\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendEstimatesEmail", + "qualifiedName": "ZohoBooksApi.SendEstimatesEmail", + "fullyQualifiedName": "ZohoBooksApi.SendEstimatesEmail@1.0.0", + "description": "Send multiple estimates to customers via email.\n\nUse this tool to email up to 10 estimates to your customers efficiently. Ideal for managing and sharing multiple estimates at once.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_ids_to_email", + "type": "string", + "required": true, + "description": "Comma-separated string of up to 10 estimate IDs to send via email.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_multiple_estimates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendEstimatesEmail", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "estimate_ids_to_email": { + "value": "EST-1001,EST-1002,EST-1003,EST-1004,EST-1005", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendInvitationEmail", + "qualifiedName": "ZohoBooksApi.SendInvitationEmail", + "fullyQualifiedName": "ZohoBooksApi.SendInvitationEmail@1.0.0", + "description": "Send an invitation email to a user in Zoho Books.\n\nUse this tool to send an invitation email to a specific user by their user ID in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books required to send the invitation.", + "enum": null, + "inferrable": true + }, + { + "name": "user_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the user to whom the invitation email will be sent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'invite_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendInvitationEmail", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "user_unique_identifier": { + "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendInvoiceEmail", + "qualifiedName": "ZohoBooksApi.SendInvoiceEmail", + "fullyQualifiedName": "ZohoBooksApi.SendInvoiceEmail@1.0.0", + "description": "Email an invoice to a customer with optional content customization.\n\n This tool is used to email an invoice to a customer. It can be called when there's a need to send invoice details via email, optionally allowing custom content. If no custom content is provided, default mail content will be used.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization to which the invoice is linked. This ID is required to specify which organization's invoice is being emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique string identifier for the specific invoice to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_email_attachments", + "type": "string", + "required": false, + "description": "A comma-separated list of file paths to attach to the email. Provide file paths if additional files need to be included with the invoice email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_customer_statement", + "type": "boolean", + "required": false, + "description": "Set to 'True' to send the customer statement PDF with the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_invoice_attachment", + "type": "boolean", + "required": false, + "description": "Set to true to attach the invoice with the email; false to exclude it. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendInvoiceEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": false + }, + "invoice_email_attachments": { + "value": "/tmp/terms.pdf,/tmp/specs.pdf", + "type": "string", + "required": false + }, + "send_customer_statement": { + "value": true, + "type": "boolean", + "required": false + }, + "send_invoice_attachment": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"email_ids\":[\"customer@example.com\"],\"subject\":\"Invoice INV-2026-0001 from Acme Corp\",\"body\":\"Hello John Doe,\\n\\nPlease find attached your invoice INV-2026-0001. If you have any questions, reply to this email or contact our billing team.\\n\\nRegards,\\nAcme Corp\",\"attachments\":[]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendInvoiceReminders", + "qualifiedName": "ZohoBooksApi.SendInvoiceReminders", + "fullyQualifiedName": "ZohoBooksApi.SendInvoiceReminders@1.0.0", + "description": "Send email reminders for unpaid invoices.\n\nUse this tool to remind customers about unpaid invoices by email. It sends reminder emails only for open or overdue invoices, with a maximum of 10 invoices at a time.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the invoice reminders are to be sent.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_ids", + "type": "string", + "required": true, + "description": "List of invoice IDs to send reminders for. Only for open or overdue invoices, up to 10 at once.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_invoice_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendInvoiceReminders", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "invoice_ids": { + "value": "INV-1001,INV-1002,INV-1003", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendInvoicesEmail", + "qualifiedName": "ZohoBooksApi.SendInvoicesEmail", + "fullyQualifiedName": "ZohoBooksApi.SendInvoicesEmail@1.0.0", + "description": "Send up to 10 invoices by email to customers.\n\n This tool is used to email invoices to your customers, allowing you to send up to 10 invoices in a single request.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The organization ID for which invoices will be emailed. Required for sending emails. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comma_separated_invoice_ids", + "type": "string", + "required": false, + "description": "Comma separated list of invoice IDs to be emailed. Maximum 10 IDs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendInvoicesEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "comma_separated_invoice_ids": { + "value": "1001,1002,1003", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"Your invoice from ACME Corp\",\"body\":\"Dear customer,\\nPlease find attached your invoice.\\nThank you for your business.\",\"send_from_org_email_id\":\"987654321\",\"to_mail_ids\":[\"client1@example.com\",\"client2@example.com\"],\"attachpdf\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendPurchaseOrderEmail", + "qualifiedName": "ZohoBooksApi.SendPurchaseOrderEmail", + "fullyQualifiedName": "ZohoBooksApi.SendPurchaseOrderEmail@1.0.0", + "description": "Send a purchase order email to the vendor.\n\n Use this tool to email a purchase order to the vendor. If no custom content is provided, the email will be sent with default content.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization the purchase order belongs to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": false, + "description": "Unique identifier of the purchase order to be emailed to the vendor. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "A comma-separated list of file paths or URLs to attach to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_file_name", + "type": "string", + "required": false, + "description": "The name of the file to attach to the email for the purchase order. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_purchase_order_attachment", + "type": "boolean", + "required": false, + "description": "Set to true to include the purchase order as an attachment with the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendPurchaseOrderEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "purchase_order_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "https://example.com/attachment1.pdf,https://example.com/attachment2.pdf", + "type": "string", + "required": false + }, + "attachment_file_name": { + "value": "purchase_order_987654321.pdf", + "type": "string", + "required": false + }, + "send_purchase_order_attachment": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"to_mail_ids\":[\"vendor@example.com\"],\"cc_mail_ids\":[\"accounts@example.com\"],\"bcc_mail_ids\":[],\"subject\":\"Purchase Order #987654321\",\"body\":\"Hello,\\n\\nPlease find attached the purchase order. Let us know if you have any questions.\\n\\nRegards,\\nAcme Corp\",\"send_mail\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendVendorPaymentEmail", + "qualifiedName": "ZohoBooksApi.SendVendorPaymentEmail", + "fullyQualifiedName": "ZohoBooksApi.SendVendorPaymentEmail@1.0.0", + "description": "Send a payment receipt email to a vendor.\n\n This tool sends a vendor payment receipt to a vendor via email. You can customize the email content, attach files, and control sender preferences. If no customizations are provided, the email will use default templates.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the vendor payment email is being sent. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_id", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor payment. Used to retrieve and send the corresponding payment receipt via email. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "List of file paths or URLs to attach to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attached_file_name", + "type": "string", + "required": false, + "description": "Specify the name of the file to be attached to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_vendor_payment_attachment", + "type": "boolean", + "required": false, + "description": "Set to true to include the vendor payment attachment in the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendVendorPaymentEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "731234567890123", + "type": "string", + "required": false + }, + "vendor_payment_id": { + "value": "VPAY-2026-000123", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "[\"https://assets.example.com/receipts/receipt_INV-1001.pdf\", \"/tmp/terms_and_conditions.pdf\"]", + "type": "string", + "required": false + }, + "attached_file_name": { + "value": "VendorPaymentReceipt_INV-1001.pdf", + "type": "string", + "required": false + }, + "send_vendor_payment_attachment": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"to_mail_ids\":[\"vendor@example.com\"],\"cc_mail_ids\":[\"accounts-payable@example.com\"],\"bcc_mail_ids\":[],\"subject\":\"Payment Receipt for Invoice #INV-1001\",\"body\":\"Dear Vendor,\\n\\nPlease find attached the payment receipt for Invoice #INV-1001. Thank you for your services.\\n\\nBest regards,\\nCompany XYZ\",\"send_from_org_email_id\":123456789}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SetInvoiceAttachmentPreference", + "qualifiedName": "ZohoBooksApi.SetInvoiceAttachmentPreference", + "fullyQualifiedName": "ZohoBooksApi.SetInvoiceAttachmentPreference@1.0.0", + "description": "Set the email attachment preference for an invoice.\n\nThis tool updates whether an attached file should be sent when emailing a specific invoice in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific invoice to update attachment preference.", + "enum": null, + "inferrable": true + }, + { + "name": "send_attachment_with_email", + "type": "boolean", + "required": true, + "description": "Set to true to send the attachment with the invoice when emailed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_attachment_preference'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SetInvoiceAttachmentPreference", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "send_attachment_with_email": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SetPrimaryLocation", + "qualifiedName": "ZohoBooksApi.SetPrimaryLocation", + "fullyQualifiedName": "ZohoBooksApi.SetPrimaryLocation@1.0.0", + "description": "Marks a specified location as primary in Zoho Books.\n\nUse this tool to designate a specific location as the primary one in Zoho Books. This is useful for managing location preferences and ensuring the correct primary location is set.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which to set the primary location in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "location_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the location to be marked as primary.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_location_primary'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SetPrimaryLocation", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "location_identifier": { + "value": "LOC-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SetSalesOrderAttachmentPreference", + "qualifiedName": "ZohoBooksApi.SetSalesOrderAttachmentPreference", + "fullyQualifiedName": "ZohoBooksApi.SetSalesOrderAttachmentPreference@1.0.0", + "description": "Sets attachment preference for sales order emails.\n\nUse this tool to set whether an attached file should be sent when emailing a sales order. Call this when you need to update the attachment settings on a specific sales order.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which you want to update the attachment preference.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to update.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_attachment_in_email", + "type": "boolean", + "required": true, + "description": "Indicate if the file can be sent in the email. Set to true to allow, false to prevent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_attachment_preference1'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SetSalesOrderAttachmentPreference", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-987654321", + "type": "string", + "required": true + }, + "allow_attachment_in_email": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StartTimeTracking", + "qualifiedName": "ZohoBooksApi.StartTimeTracking", + "fullyQualifiedName": "ZohoBooksApi.StartTimeTracking@1.0.0", + "description": "Initiate time tracking for a specific entry.\n\nUse this tool to start tracking time for a given time entry in Zoho Books. It should be called when you need to begin or resume tracking time on a project task.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization for which the time tracking is to be started.", + "enum": null, + "inferrable": true + }, + { + "name": "time_entry_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific time entry to be tracked.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'start_entry_timer'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StartTimeTracking", + "parameters": { + "organization_identifier": { + "value": "org_5f8d9c3a2b", + "type": "string", + "required": true + }, + "time_entry_identifier": { + "value": "te_20260218_001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "Stop1099TrackingForVendor", + "qualifiedName": "ZohoBooksApi.Stop1099TrackingForVendor", + "fullyQualifiedName": "ZohoBooksApi.Stop1099TrackingForVendor@1.0.0", + "description": "Stop 1099 payment tracking for a vendor in the U.S.\n\nUse to disable 1099 reporting for vendor payments in the U.S. organization.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization where 1099 tracking will be stopped.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_contact_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor contact to stop 1099 tracking.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'untrack_contact_1099'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.Stop1099TrackingForVendor", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "vendor_contact_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StopRecurringBill", + "qualifiedName": "ZohoBooksApi.StopRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.StopRecurringBill@1.0.0", + "description": "Stop an active recurring bill in Zoho Books.\n\nUse this tool to stop an active recurring bill in Zoho Books when you need to discontinue ongoing payments. It provides confirmation upon successful stoppage.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID representing the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring bill to be stopped.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'stop_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StopRecurringBill", + "parameters": { + "organization_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "recurring_bill_identifier": { + "value": "RB-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StopRecurringExpense", + "qualifiedName": "ZohoBooksApi.StopRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.StopRecurringExpense@1.0.0", + "description": "Stop an active recurring expense in Zoho Books.\n\nThis tool is used to stop an active recurring expense in Zoho Books. It should be called when a user wants to terminate a recurring payment schedule associated with an expense.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which the recurring expense will be stopped.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring expense to be stopped.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'stop_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StopRecurringExpense", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "recurring_expense_identifier": { + "value": "RECURR_EXP_2026_001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StopRecurringInvoice", + "qualifiedName": "ZohoBooksApi.StopRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.StopRecurringInvoice@1.0.0", + "description": "Stop an active recurring invoice in Zoho Books.\n\n Use this tool to stop an active recurring invoice by providing the recurring invoice ID. This tool is useful for managing billing cycles when you need to halt a recurring charge.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the recurring invoice is to be stopped. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": false, + "description": "The unique identifier for the recurring invoice to be stopped. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'stop_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StopRecurringInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "recurring_invoice_id": { + "value": "RINV-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"stop_mode\":\"immediate\",\"note\":\"Customer requested cancellation\",\"stop_date\":\"2026-02-18\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StopTimeTracking", + "qualifiedName": "ZohoBooksApi.StopTimeTracking", + "fullyQualifiedName": "ZohoBooksApi.StopTimeTracking@1.0.0", + "description": "Stop the timer for a time entry.\n\nUse this tool to stop tracking time for a specific task or activity, such as when taking a break or ending a work session.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization where the time entry is being stopped. This ID is required to specify which organization's time tracking should be affected.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'stop_entry_timer'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StopTimeTracking", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitBillForApproval", + "qualifiedName": "ZohoBooksApi.SubmitBillForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitBillForApproval@1.0.0", + "description": "Submit a bill for approval in Zoho Books.\n\nUse this tool to submit a specific bill for approval in Zoho Books by providing the bill ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books for which the bill is being submitted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitBillForApproval", + "parameters": { + "organization_id": { + "value": "672345678", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0042", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitCreditNoteForApproval", + "qualifiedName": "ZohoBooksApi.SubmitCreditNoteForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitCreditNoteForApproval@1.0.0", + "description": "Submit a credit note for approval in Zoho Books.\n\nCall this tool to submit a credit note for approval in Zoho Books using the credit note ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the credit note is being submitted for approval.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to submit for approval in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitCreditNoteForApproval", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitEstimateForApproval", + "qualifiedName": "ZohoBooksApi.SubmitEstimateForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitEstimateForApproval@1.0.0", + "description": "Submit an estimate for approval.\n\nUse this tool to submit a specific estimate for approval by providing the estimate ID. It facilitates the approval workflow for estimates in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books that the estimate belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the estimate to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitEstimateForApproval", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitInvoiceForApproval", + "qualifiedName": "ZohoBooksApi.SubmitInvoiceForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitInvoiceForApproval@1.0.0", + "description": "Submit an invoice for approval in Zoho Books.\n\nThis tool allows users to submit an invoice for approval using the Zoho Books API. It should be called when an invoice is ready to be reviewed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_id", + "type": "string", + "required": true, + "description": "The unique identifier for the invoice to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitInvoiceForApproval", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_unique_id": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitPurchaseOrder", + "qualifiedName": "ZohoBooksApi.SubmitPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.SubmitPurchaseOrder@1.0.0", + "description": "Submit a purchase order for approval.\n\nUse this tool to submit a specific purchase order for approval in the Zoho Books system.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitPurchaseOrder", + "parameters": { + "organization_identifier": { + "value": "60000012345", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitRetainerInvoice", + "qualifiedName": "ZohoBooksApi.SubmitRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.SubmitRetainerInvoice@1.0.0", + "description": "Submit a retainer invoice for approval in Zoho Books.\n\nUse this tool to submit a specific retainer invoice for approval in Zoho Books. Call this tool when you need to send a retainer invoice for review and approval.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books to which the retainer invoice belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice for submission.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitRetainerInvoice", + "parameters": { + "organization_id": { + "value": "395874321", + "type": "string", + "required": true + }, + "retainer_invoice_unique_id": { + "value": "retainer_inv_2026_0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitSalesOrderForApproval", + "qualifiedName": "ZohoBooksApi.SubmitSalesOrderForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitSalesOrderForApproval@1.0.0", + "description": "Submit a sales order for approval in Zoho Books.\n\nUse this tool to submit a sales order for approval in the Zoho Books system by providing the sales order ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books where the sales order is submitted.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitSalesOrderForApproval", + "parameters": { + "organization_identifier": { + "value": "707594165", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitVendorCreditForApproval", + "qualifiedName": "ZohoBooksApi.SubmitVendorCreditForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitVendorCreditForApproval@1.0.0", + "description": "Submit a vendor credit for approval.\n\nThis tool submits a specified vendor credit for approval based on its unique ID. Use it to move vendor credits from draft to approval status in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization where the vendor credit is submitted for approval.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitVendorCreditForApproval", + "parameters": { + "organization_id": { + "value": "6000000000001", + "type": "string", + "required": true + }, + "vendor_credit_unique_id": { + "value": "VC-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "TrackContactFor1099Reporting", + "qualifiedName": "ZohoBooksApi.TrackContactFor1099Reporting", + "fullyQualifiedName": "ZohoBooksApi.TrackContactFor1099Reporting@1.0.0", + "description": "Track a contact for 1099 reporting in Zoho Books.\n\nUse this tool to track a contact for 1099 reporting, applicable only when the organization's country is the U.S.A. Ideal for ensuring contacts meet 1099 requirements in financial records.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books required for 1099 reporting. This should be the ID specific to the organization tracked in the U.S.A.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the contact for 1099 tracking.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'track_contact_1099'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.TrackContactFor1099Reporting", + "parameters": { + "organization_identifier": { + "value": "org_123456789", + "type": "string", + "required": true + }, + "contact_unique_id": { + "value": "contact_987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UncategorizeBankTransaction", + "qualifiedName": "ZohoBooksApi.UncategorizeBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.UncategorizeBankTransaction@1.0.0", + "description": "Revert a categorized bank transaction to uncategorized.\n\nUse this tool to uncategorize a previously categorized bank transaction. Call this when needing to correct or revert the categorization of a transaction in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which the transaction is to be uncategorized.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank transaction to uncategorize.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id_for_transactions", + "type": "string", + "required": false, + "description": "The mandatory Account ID for which transactions are to be listed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'uncategorize_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UncategorizeBankTransaction", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "320000000011111", + "type": "string", + "required": true + }, + "account_id_for_transactions": { + "value": "320000000011112", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UnmatchBankTransaction", + "qualifiedName": "ZohoBooksApi.UnmatchBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.UnmatchBankTransaction@1.0.0", + "description": "Unmatch a previously matched bank transaction.\n\nUse this tool to unmatch a bank transaction that was previously categorized, reverting it to an uncategorized state.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the transaction unmatching is to be performed.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": true, + "description": "The unique identifier of the bank transaction to be unmatched.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id_for_transactions", + "type": "string", + "required": false, + "description": "The mandatory ID of the account for which transactions are to be unlisted. This is essential to specify the correct account involved in the transaction.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'unmatch_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UnmatchBankTransaction", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "transaction_id": { + "value": "372a9f4b-8c2d-4e6a-b5f1-9c3d2b7a1e4f", + "type": "string", + "required": true + }, + "account_id_for_transactions": { + "value": "11987654321", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateAccountInfo", + "qualifiedName": "ZohoBooksApi.UpdateAccountInfo", + "fullyQualifiedName": "ZohoBooksApi.UpdateAccountInfo@1.0.0", + "description": "Updates account information in Zoho Books.\n\n This tool updates the chart of account details for a specified account in Zoho Books. It should be called when account information needs modification, such as changing account names, codes, or related details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The ID of the organization for which the account will be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "account_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the account to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_chart_of_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateAccountInfo", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "account_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"account\": {\"account_name\": \"Office Supplies\",\"code\": \"OS-1001\",\"account_type\": \"Expense\",\"is_bank_or_cash\": false,\"status\": \"active\",\"description\": \"Updated account for office supplies\",\"opening_balance\": \"0.00\",\"opening_balance_date\": \"2025-01-01\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBankAccountRule", + "qualifiedName": "ZohoBooksApi.UpdateBankAccountRule", + "fullyQualifiedName": "ZohoBooksApi.UpdateBankAccountRule@1.0.0", + "description": "Update or modify a bank account rule in Zoho Books.\n\n This tool updates an existing bank account rule in Zoho Books. It should be called when you need to make changes to a rule, either by adding new criteria or modifying existing ones. The tool provides confirmation once the rule update is successful.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books for which the bank account rule needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_rule_id", + "type": "string", + "required": false, + "description": "Unique identifier for the bank account rule to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bank_account_rule'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBankAccountRule", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60012345678", + "type": "string", + "required": false + }, + "bank_account_rule_id": { + "value": "7890123456", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"bank_account_rule\": {\"name\": \"PayPal Sales - Updated\",\"sequence_number\": 2,\"is_active\": true,\"bank_account_id\": \"1122334455\",\"conditions\": [{\"field\": \"description\",\"operator\": \"contains\",\"value\": \"PayPal\"},{\"field\": \"amount\",\"operator\": \"greater_than\",\"value\": \"0\"}],\"action\": {\"type\": \"auto_categorize\",\"income_account_id\": \"66778899\",\"expense_account_id\": \"77889900\",\"tax_id\": null}}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBankAccountZohoBooks", + "qualifiedName": "ZohoBooksApi.UpdateBankAccountZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.UpdateBankAccountZohoBooks@1.0.0", + "description": "Modify a bank account in Zoho Books.\n\n Use this tool to update details of an existing bank account in Zoho Books. It should be called when there's a need to modify account information such as account name or details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to be modified. Required for identifying the specific organization's bank account. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank account to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bank_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBankAccountZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bank_account_id": { + "value": "1122334455", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"bank_account\":{\"account_name\":\"Main Checking Account\",\"account_number\":\"1234567890\",\"bank_name\":\"Acme Bank\",\"ifsc_code\":\"ACME0001234\",\"opening_balance\":5000.00,\"opening_balance_date\":\"2024-01-01\",\"is_primary\":true,\"notes\":\"Updated account name and notes\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBankTransaction", + "qualifiedName": "ZohoBooksApi.UpdateBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.UpdateBankTransaction@1.0.0", + "description": "Update details of a specific bank transaction.\n\n This tool updates the specified bank transaction with the provided information. Call this tool to make changes to existing transaction details in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books for which the bank transaction is being updated. This is required to specify the organization context for the transaction update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific bank transaction to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBankTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "600123456", + "type": "string", + "required": false + }, + "bank_transaction_identifier": { + "value": "BTX-789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"bank_transaction\":{\"bank_account_id\":\"123456789\",\"transaction_date\":\"2026-02-15\",\"amount\":1250.5,\"transaction_type\":\"deposit\",\"reference_number\":\"DEP-20260215-01\",\"description\":\"Customer payment for invoice INV-1001\",\"status\":\"reconciled\",\"cheque_number\":null,\"tags\":[\"online\",\"priority\"],\"custom_fields\":[{\"label\":\"Sales Region\",\"value\":\"North\"},{\"label\":\"Collected By\",\"value\":\"John Doe\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBillByCustomField", + "qualifiedName": "ZohoBooksApi.UpdateBillByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateBillByCustomField@1.0.0", + "description": "Update or create a bill using a custom field identifier.\n\n Use this tool to update an existing bill or create a new one by specifying a custom field's unique value. The tool retrieves the bill based on the custom field value provided. If the bill is not found and the X-Upsert option is enabled, a new bill will be created with the provided details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the bill is to be updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_identifier_key", + "type": "string", + "required": false, + "description": "Specify the API name of the custom field with unique values for identifying the bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_unique_value", + "type": "string", + "required": false, + "description": "Provide the unique value from the custom field to identify and update the specific bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_upsert", + "type": "boolean", + "required": false, + "description": "Set to true to enable upsert functionality. Creates a new bill if no existing bill matches the custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bill_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBillByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "unique_identifier_key": { + "value": "cf_bill_external_id", + "type": "string", + "required": false + }, + "custom_field_unique_value": { + "value": "BILL-2026-00042", + "type": "string", + "required": false + }, + "enable_upsert": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"reference_number\":\"REF-2026-42\",\"date\":\"2026-02-15\",\"due_date\":\"2026-03-17\",\"line_items\":[{\"item_id\":\"112233\",\"description\":\"Consulting services - February 2026\",\"quantity\":10,\"rate\":150.00,\"account_id\":\"445566\"}],\"custom_fields\":[{\"customfield_id\":\"cf_bill_external_id\",\"value\":\"BILL-2026-00042\"}],\"notes\":\"Auto-created via API upsert by custom field.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdateBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateBillingAddress@1.0.0", + "description": "Updates the billing address for a specified bill.\n\n This tool is used to update the billing address associated with a specific bill. It should be called when there's a need to modify the billing address details of an existing bill.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the billing address is being updated. This identifier is necessary to access specific organizational data. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_unique_identifier", + "type": "string", + "required": false, + "description": "Provide the unique identifier for the bill to update its billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bill_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "org_123456789", + "type": "string", + "required": false + }, + "bill_unique_identifier": { + "value": "bill_98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"Jane Smith\",\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\",\"phone\":\"+1-415-555-1234\",\"fax\":\"+1-415-555-5678\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBillingAddressRetainerInvoice", + "qualifiedName": "ZohoBooksApi.UpdateBillingAddressRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.UpdateBillingAddressRetainerInvoice@1.0.0", + "description": "Update billing address for a retainer invoice.\n\n This tool updates the billing address associated with a specific retainer invoice. It should be used when there's a need to change the billing address for a particular invoice without affecting other records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization's invoice needs updating. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the retainer invoice to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_retainer_invoice_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBillingAddressRetainerInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "30012345678", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"John Doe\",\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\",\"phone\":\"+14155552671\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBillInZoho", + "qualifiedName": "ZohoBooksApi.UpdateBillInZoho", + "fullyQualifiedName": "ZohoBooksApi.UpdateBillInZoho@1.0.0", + "description": "Updates a bill by modifying details in Zoho Books.\n\n This tool is used to update a bill in Zoho Books. It allows you to modify details or remove line items by excluding them from the list. Call this tool when you need to make changes to an existing bill.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required for updating a bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_unique_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the bill to be updated in Zoho Books. Ensure this matches the bill you intend to modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "file_attachment", + "type": "string", + "required": false, + "description": "File to attach. Allowed extensions: gif, png, jpeg, jpg, bmp, pdf. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBillInZoho", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bill_unique_identifier": { + "value": "9876543210", + "type": "string", + "required": false + }, + "file_attachment": { + "value": "receipt_2026.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"bill\":{\"vendor_id\":\"567890123\",\"bill_number\":\"BILL-2026-045\",\"bill_date\":\"2026-02-10\",\"due_date\":\"2026-03-12\",\"reference_number\":\"PO-7890\",\"currency_id\":\"USD\",\"exchange_rate\":1.0,\"discount\":15.0,\"shipping_charge\":10.0,\"adjustment\":-5.0,\"notes\":\"Updated billing after price adjustment\",\"line_items\":[{\"item_id\":\"1001\",\"name\":\"Consulting services\",\"description\":\"Monthly consulting - February 2026\",\"rate\":150.0,\"quantity\":10,\"discount\":0.0,\"account_id\":\"4001\",\"tax_id\":\"2001\"},{\"item_id\":\"1002\",\"name\":\"Software license\",\"description\":\"Annual license renewal\",\"rate\":299.99,\"quantity\":1,\"discount\":0.0,\"account_id\":\"4002\",\"tax_id\":\"2002\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBusinessContact", + "qualifiedName": "ZohoBooksApi.UpdateBusinessContact", + "fullyQualifiedName": "ZohoBooksApi.UpdateBusinessContact@1.0.0", + "description": "Update detailed information for an existing business contact.\n\n Use this tool to modify comprehensive details of an existing contact, including addresses, contact persons, and payment terms. Useful for keeping contact information up-to-date with the latest business details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization to which the contact belongs. This is required for identifying the organization context for the update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": false, + "description": "Unique identifier for the contact to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBusinessContact", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "contact_id": { + "value": "987654321098765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"contact_name\":\"Acme Corp\",\"company_name\":\"Acme Corporation\",\"contact_type\":\"customer\",\"contact_persons\":[{\"first_name\":\"Jane\",\"last_name\":\"Doe\",\"email\":\"jane.doe@acme.com\",\"phone\":\"415-555-0123\",\"mobile\":\"415-555-0199\",\"is_primary_contact\":true},{\"first_name\":\"John\",\"last_name\":\"Smith\",\"email\":\"john.smith@acme.com\",\"phone\":\"415-555-0147\",\"is_primary_contact\":false}],\"billing_address\":{\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"Warehouse 5, 400 Industrial Rd\",\"city\":\"Oakland\",\"state\":\"CA\",\"zip\":\"94607\",\"country\":\"USA\"},\"payment_terms\":30,\"currency_id\":\"USD\",\"tax_exemption_id\":null,\"notes\":\"Preferred contact: Jane Doe. Update billing cycle to monthly.\",\"custom_fields\":[{\"label\":\"Account Manager\",\"value\":\"Samuel Lee\"}],\"is_archived\":false}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateContactAddress", + "qualifiedName": "ZohoBooksApi.UpdateContactAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateContactAddress@1.0.0", + "description": "Edit the additional address of a contact.\n\n Use this tool to update the additional address associated with a contact in Zoho Books. It requires the contact ID and address ID to specify the contact and address to be updated.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This is required to specify which organization's contact address needs updating. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the contact to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "address_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the address to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_contact_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateContactAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6000000000001", + "type": "string", + "required": false + }, + "contact_identifier": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "address_identifier": { + "value": "987654321098765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"address\":{\"address\":\"123 New Market St\",\"address_2\":\"Suite 400\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"phone\":\"+1-415-555-0132\",\"attention\":\"Jane Doe\",\"is_default\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateContactByCustomField", + "qualifiedName": "ZohoBooksApi.UpdateContactByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateContactByCustomField@1.0.0", + "description": "Update a contact using a unique custom field value.\n\n This tool updates or creates a contact in Zoho Books based on a unique custom field value. Use it when you need to modify a contact using a non-duplicate custom field value, or create a new contact if the unique value isn't found and upsert is enabled.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books. This is required to specify which organization's records to update or create. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the contact. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify the contact. Must be a non-duplicate value. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_contact_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new contact if the unique custom field value isn't found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_contact_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateContactByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "custom_field_api_name": { + "value": "cf_customer_code", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "CUST-00042", + "type": "string", + "required": false + }, + "create_contact_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"contact\":{\"contact_name\":\"Jane Doe\",\"company_name\":\"Acme Widgets Inc.\",\"email\":\"jane.doe@example.com\",\"phone\":\"+1-555-0102\",\"billing_address\":{\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\"},\"custom_fields\":[{\"label\":\"Customer Code\",\"value\":\"CUST-00042\",\"api_name\":\"cf_customer_code\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateContactPerson", + "qualifiedName": "ZohoBooksApi.UpdateContactPerson", + "fullyQualifiedName": "ZohoBooksApi.UpdateContactPerson@1.0.0", + "description": "Update an existing contact person's details.\n\n Use this tool to update the details of an existing contact person in the system. This is useful when changes to contact information are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID representing the organization whose contact person is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_person_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the contact person to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_contact_person'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateContactPerson", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": false + }, + "contact_person_identifier": { + "value": "cp_12345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"contact_person\":{\"first_name\":\"Alex\",\"last_name\":\"Johnson\",\"email\":\"alex.johnson@example.com\",\"phone\":\"555-0123\",\"mobile\":\"+15559876543\",\"department\":\"Sales\",\"designation\":\"Account Manager\",\"salutation\":\"Mr.\",\"is_primary_contact\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteBillingAddress@1.0.0", + "description": "Update the billing address for a specific credit note.\n\n This tool updates the billing address associated with an existing credit note in Zoho Books. It should be called when a change in billing information for a specific credit note is required.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required to specify which organization's data is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_identifier", + "type": "string", + "required": false, + "description": "A unique identifier for the credit note to update its billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "credit_note_identifier": { + "value": "CN-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"Jane Smith\",\"address\":\"456 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94104\",\"country\":\"United States\",\"phone\":\"+1-415-555-0199\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteDetails", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteDetails@1.0.0", + "description": "Update details of an existing credit note.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization's credit note to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the credit note to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to provide your own credit note number instead of using the auto-generated one. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "600123456789", + "type": "string", + "required": false + }, + "credit_note_unique_identifier": { + "value": "CNID-abc123def", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"credit_note\":{\"creditnote_number\":\"CN-2026-045\",\"date\":\"2026-02-18\",\"customer_id\":\"1234567890\",\"reference_number\":\"REF-9876\",\"line_items\":[{\"item_id\":\"111111\",\"name\":\"Consulting Services\",\"description\":\"Monthly consulting\",\"rate\":150.00,\"quantity\":10,\"tax_id\":\"2001\"},{\"item_id\":\"222222\",\"name\":\"Setup Fee\",\"rate\":300.00,\"quantity\":1}],\"notes\":\"Adjusted pricing per agreement\",\"adjustment\":0.00,\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Alpha\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteShippingAddress", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteShippingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteShippingAddress@1.0.0", + "description": "Updates the shipping address of an existing credit note.\n\n Use this tool to update the shipping address for a specific credit note. Call this when you need to change the recipient's address on a credit note document.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "ID of the organization to which the credit note belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to update the shipping address for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_shipping_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteShippingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"shipping_address\":{\"attention\":\"Jane Doe\",\"address\":\"456 Oak Street\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10101\",\"country\":\"USA\",\"phone\":\"+1-555-0102\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteTemplate", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteTemplate@1.0.0", + "description": "Updates the PDF template for a specified credit note.\n\nUse this tool to change the PDF template associated with a specific credit note by providing the credit note ID and the template ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the organization. Required to specify which organization's credit note template will be updated.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be updated.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_template_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note template to be updated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteTemplate", + "parameters": { + "organization_identifier": { + "value": "3698730000001234567", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "9876543210000123456", + "type": "string", + "required": true + }, + "credit_note_template_id": { + "value": "9001234567890123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteWithCustomField@1.0.0", + "description": "Update or create a credit note using a custom field.\n\n Use this tool to modify an existing credit note or create a new one with unique values in custom fields. If the specified unique value doesn't match any existing credit note and upsert is enabled, a new credit note will be created given the necessary details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization to which the credit note belongs. This identifies the target organization for the update or creation operation. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_key", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the credit note. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_unique_value", + "type": "string", + "required": false, + "description": "The unique value for the custom field used to identify the credit note to update or create. Ensure this matches the specific custom field's unique value constraints. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_credit_note_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new credit note if the unique custom field value isn't found in existing credit notes. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6000000000000001234", + "type": "string", + "required": false + }, + "unique_custom_field_key": { + "value": "cf_unique_order", + "type": "string", + "required": false + }, + "custom_field_unique_value": { + "value": "UNQ-2026-0001", + "type": "string", + "required": false + }, + "create_new_credit_note_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"creditnote\":{\"customer_id\":\"123456789012345\",\"date\":\"2026-01-15\",\"reference_number\":\"CN-1002\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Product A\",\"rate\":100.0,\"quantity\":2}],\"custom_fields\":[{\"label\":\"Client PO\",\"value\":\"PO-9988\",\"index\":1,\"api_name\":\"cf_unique_order\"},{\"label\":\"Sales Rep\",\"value\":\"Jane Doe\",\"index\":2,\"api_name\":\"cf_sales_rep\"}],\"notes\":\"Updated via API\"},\"upsert\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCurrencyDetails", + "qualifiedName": "ZohoBooksApi.UpdateCurrencyDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateCurrencyDetails@1.0.0", + "description": "Update the details of a currency in Zoho Books.\n\n Use this tool to update information for a specific currency in Zoho Books by providing the currency ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the currency details are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the currency to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_currency'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCurrencyDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "currency_unique_identifier": { + "value": "cad_001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"currency\":{\"name\":\"Canadian Dollar\",\"symbol\":\"CA$\",\"currency_code\":\"CAD\",\"is_active\":true,\"decimal_places\":2,\"exchange_rate\":1.25}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomerDebitNote", + "qualifiedName": "ZohoBooksApi.UpdateCustomerDebitNote", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomerDebitNote@1.0.0", + "description": "Update an existing customer debit note.\n\n Use this tool to update details of an existing customer debit note in Zoho Books. Remove a line item by omitting it from the line_items list.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Organization ID for the request within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "debit_note_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the debit note to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic debit note number generation, requiring manual input of the debit note number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_customer_debit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomerDebitNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "debit_note_unique_identifier": { + "value": "112233445566778", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"debit_note_number\":\"DN-2026-007\",\"customer_id\":\"1234567890123456789\",\"date\":\"2026-02-15\",\"reference_number\":\"DN-REF-001\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Consulting Services\",\"description\":\"Monthly accounting consulting\",\"rate\":150.0,\"quantity\":10},{\"item_id\":\"543210987\",\"name\":\"Setup Fee\",\"description\":\"One-time setup fee\",\"rate\":200.0,\"quantity\":1}],\"notes\":\"Updated line items and reference number.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomerPaymentCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateCustomerPaymentCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomerPaymentCustomFields@1.0.0", + "description": "Update custom fields in existing customer payments.\n\n Use this tool to update the values of custom fields in an existing customer payment in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the customer payment belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the customer payment you wish to update custom fields for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomerPaymentCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "customer_payment_identifier": { + "value": "CPMT-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"customfield_id\":\"cf_1001\",\"value\":\"REF-2026-001\"},{\"customfield_id\":\"cf_1002\",\"value\":\"Approved by finance\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomerPaymentInfo", + "qualifiedName": "ZohoBooksApi.UpdateCustomerPaymentInfo", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomerPaymentInfo@1.0.0", + "description": "Update an existing payment information.\n\n Use this tool to update payment information for a customer when any corrections or modifications are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the payment update is requested. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_unique_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the payment to be updated. Use this to specify which payment you want to modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomerPaymentInfo", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "payment_unique_identifier": { + "value": "pay_2026_001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"payment_id\":\"pay_2026_001\",\"customer_id\":\"cust_789\",\"amount\":\"150.00\",\"date\":\"2026-02-15\",\"payment_mode\":\"bank_transfer\",\"reference_number\":\"TRX-7890\",\"notes\":\"Correction: updated amount and reference\",\"payment_account_id\":\"acct_456\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomFieldsInBill", + "qualifiedName": "ZohoBooksApi.UpdateCustomFieldsInBill", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomFieldsInBill@1.0.0", + "description": "Update custom fields in existing bills.\n\n This tool is used to update the value of custom fields in existing bills. It should be called when you need to change or add information to the custom fields of a specific bill identified by its bill ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the bill's custom fields are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the bill to update its custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomFieldsInBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "600123456789", + "type": "string", + "required": false + }, + "bill_identifier": { + "value": "BILL-2026-0042", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"label\":\"Project Code\",\"value\":\"PRJ-7890\"},{\"index\":2,\"value\":\"Urgent Priority\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomFieldsPurchaseOrder", + "qualifiedName": "ZohoBooksApi.UpdateCustomFieldsPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomFieldsPurchaseOrder@1.0.0", + "description": "Update custom field values in purchase orders.\n\n This tool updates the values of custom fields within existing purchase orders in Zoho Books. It should be called when there is a need to modify or update custom information in a specific purchase order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization associated with the purchase order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": false, + "description": "A unique identifier for the purchase order to update custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomFieldsPurchaseOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "6000000000001", + "type": "string", + "required": false + }, + "purchase_order_id": { + "value": "PO-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"customfield_id\":\"cf_1122334455\",\"value\":\"Priority: High\"},{\"label\":\"Delivery Window\",\"value\":\"2026-03-01 to 2026-03-05\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomModuleRecord", + "qualifiedName": "ZohoBooksApi.UpdateCustomModuleRecord", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomModuleRecord@1.0.0", + "description": "Update an existing custom module in Zoho Books.\n\n Use this tool to update an existing custom module record in Zoho Books by specifying the module name and module ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": false, + "description": "The name of the custom module to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_id", + "type": "integer", + "required": false, + "description": "The ID of the custom module to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_module_record'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomModuleRecord", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "module_name": { + "value": "ProjectDetails", + "type": "string", + "required": false + }, + "custom_module_id": { + "value": 987654321, + "type": "integer", + "required": false + }, + "request_body": { + "value": "{\"custom_module\": {\"project_name\": \"Website Redesign\", \"start_date\": \"2026-02-01\", \"end_date\": \"2026-05-30\", \"budget\": 15000.00, \"status\": \"In Progress\", \"assigned_to\": {\"id\": \"4321\", \"name\": \"Alex Johnson\"}, \"custom_fields\": [{\"label\": \"Priority\", \"value\": \"High\"}, {\"label\": \"Client SLA\", \"value\": \"Gold\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomModuleRecords", + "qualifiedName": "ZohoBooksApi.UpdateCustomModuleRecords", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomModuleRecords@1.0.0", + "description": "Updates existing custom module records in bulk.\n\n Use this tool to update multiple records in a custom module efficiently. This is useful for making uniform changes across a set of records within a specified module.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization that owns the module records to be updated. This ID is required to specify which organization's records are being modified. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": false, + "description": "Specify the name of the custom module to update records in bulk. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_update_custom_module_records'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomModuleRecords", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "682197843", + "type": "string", + "required": false + }, + "module_name": { + "value": "Projects", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"records\":[{\"id\":\"1000000000001\",\"Project_Name\":\"Website Redesign\",\"Status\":\"In Progress\",\"Estimated_Completion\":\"2026-06-30\"},{\"id\":\"1000000000002\",\"Project_Name\":\"Mobile App\",\"Status\":\"On Hold\",\"Priority\":\"High\"}],\"skip_reassignment\":false}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimate", + "qualifiedName": "ZohoBooksApi.UpdateEstimate", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimate@1.0.0", + "description": "Update an existing estimate in Zoho Books.\n\n Use this tool to modify an existing estimate in Zoho Books. When updating, you can remove a line item by excluding it from the line_items list.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization whose estimate needs updating. It should be a unique identifier in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_unique_id", + "type": "string", + "required": false, + "description": "Unique identifier for the estimate you want to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore auto generation of estimate numbers and manually specify the estimate number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "estimate_unique_id": { + "value": "EST-UUID-0001", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"543210987\",\"date\":\"2026-02-10\",\"expiry_date\":\"2026-03-10\",\"estimate_number\":\"EST-2026-045\",\"reference_number\":\"REF-789\",\"notes\":\"Updated estimate per client request. Removed discontinued item.\",\"terms\":\"Payment due within 30 days.\",\"line_items\":[{\"item_id\":\"1001\",\"name\":\"Website design - Landing page\",\"description\":\"Design and development of landing page\",\"rate\":750.0,\"quantity\":1},{\"item_id\":\"2003\",\"name\":\"Monthly hosting\",\"description\":\"Hosting (per month)\",\"rate\":25.0,\"quantity\":12,\"discount\":0}],\"shipping_charge\":20.0,\"adjustment\":-50.0,\"custom_fields\":[{\"label\":\"Project Code\",\"value\":\"PRJ-009\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdateEstimateBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateBillingAddress@1.0.0", + "description": "Updates the billing address for a specific estimate.\n\n Use this tool to update the billing address for a specific estimate in Zoho Books. Call this tool when there's a need to change the billing details associated with an individual estimate.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required to specify the organization whose estimate billing address is to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the estimate to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60012345678", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"Jane Doe\",\"street\":\"123 Oak Street\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62704\",\"country\":\"United States\",\"phone\":\"217-555-0142\",\"fax\":\"217-555-0143\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateComment", + "qualifiedName": "ZohoBooksApi.UpdateEstimateComment", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateComment@1.0.0", + "description": "Update an existing comment on an estimate.\n\n Use this tool to update a specific comment associated with an estimate in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The ID representing the organization. Required to update the comment in the specified organization's estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the estimate to update the comment for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the comment to be updated on an estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-1001", + "type": "string", + "required": false + }, + "comment_unique_identifier": { + "value": "CMT-98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"content\":\"Updated comment text via API\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateEstimateCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateCustomFields@1.0.0", + "description": "Update custom fields in a specific estimate.\n\n This tool updates the values of custom fields in an existing estimate. It should be called when you need to modify or add information to custom fields of a particular estimate.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization whose estimate custom fields are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the estimate to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890abcdef", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"index\":1,\"label\":\"Project Code\",\"value\":\"PX-123\",\"type\":\"text\"},{\"index\":2,\"label\":\"Approved By\",\"value\":\"Jane Doe\",\"type\":\"text\"},{\"index\":3,\"label\":\"Delivery Date\",\"value\":\"2026-03-15\",\"type\":\"date\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateShippingAddress", + "qualifiedName": "ZohoBooksApi.UpdateEstimateShippingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateShippingAddress@1.0.0", + "description": "Updates the shipping address for an existing estimate in Zoho Books.\n\n This tool is used to update the shipping address for a specific estimate in the Zoho Books system. It should be called when there's a need to modify the delivery details associated with an existing estimate.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books whose estimate's shipping address is to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the estimate to update its shipping address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_shipping_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateShippingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"shipping_address\":{\"attention\":\"John Doe\",\"address\":\"456 Delivery Lane\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62704\",\"country\":\"USA\",\"phone\":\"+1-217-555-0123\",\"fax\":\"+1-217-555-0199\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateTemplate", + "qualifiedName": "ZohoBooksApi.UpdateEstimateTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateTemplate@1.0.0", + "description": "Update the PDF template for an estimate.\n\nUse this tool to update the PDF template associated with a specific estimate in Zoho Books by providing the estimate and template IDs.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the estimate template is being updated.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Provide the unique identifier for the specific estimate you want to update.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_template_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate template to update in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateTemplate", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": true + }, + "estimate_template_identifier": { + "value": "TPL-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateEstimateWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateWithCustomField@1.0.0", + "description": "Update or create an estimate using a custom field value.\n\n This tool allows updating an existing estimate by providing a unique custom field value. If the value does not match any existing estimates and the X-Upsert header is true, a new estimate will be created if required details are provided. Use this tool to maintain estimates based on unique identifiers.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Provide the ID of the organization for which the estimate is being updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the custom field used to uniquely identify and update an estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify and update the estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_estimate_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new estimate if no existing record matches the custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "client_reference", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "PO-4455", + "type": "string", + "required": false + }, + "create_new_estimate_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"1122334455\",\"date\":\"2026-02-15\",\"expiry_date\":\"2026-03-17\",\"reference_number\":\"EST-2026-001\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Consulting Services\",\"rate\":150,\"quantity\":10,\"description\":\"Monthly consulting\"}],\"custom_fields\":[{\"api_name\":\"client_reference\",\"value\":\"PO-4455\"}],\"notes\":\"Estimate created or updated via API\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateExchangeRate", + "qualifiedName": "ZohoBooksApi.UpdateExchangeRate", + "fullyQualifiedName": "ZohoBooksApi.UpdateExchangeRate@1.0.0", + "description": "Update exchange rate details for a currency in Zoho Books.\n\n This tool updates the exchange rate for a specified currency in Zoho Books. It should be called when you need to modify the exchange rate details, usually for financial reports, accounting adjustments, or compliance with real-time rates.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the exchange rate is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the currency you want to update the exchange rate for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the exchange rate to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_exchange_rate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateExchangeRate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "356789012345", + "type": "string", + "required": false + }, + "currency_unique_identifier": { + "value": "EUR", + "type": "string", + "required": false + }, + "exchange_rate_identifier": { + "value": "exr_987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"exchange_rate\":{\"date\":\"2026-02-18\",\"rate\":1.085,\"base_currency\":\"USD\",\"target_currency\":\"EUR\",\"notes\":\"Monthly market adjustment\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateExistingExpense", + "qualifiedName": "ZohoBooksApi.UpdateExistingExpense", + "fullyQualifiedName": "ZohoBooksApi.UpdateExistingExpense@1.0.0", + "description": "Update an existing expense in Zoho Books.\n\n Use this tool to modify details of an existing expense in Zoho Books. It should be called when you need to change information such as amount, date, or description of a recorded expense.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization. Required to identify which organization's expense is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the expense to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_receipt_file", + "type": "string", + "required": false, + "description": "File path of the expense receipt to attach. Allowed extensions are gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, and docx. Ensure the file is accessible and in an accepted format. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "delete_receipt", + "type": "boolean", + "required": false, + "description": "Set to true to remove the attached receipt from the expense. Use false to keep it. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateExistingExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6001234567890123456", + "type": "string", + "required": false + }, + "expense_identifier": { + "value": "543210987654321", + "type": "string", + "required": false + }, + "expense_receipt_file": { + "value": "/tmp/receipts/expense-543210.pdf", + "type": "string", + "required": false + }, + "delete_receipt": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"expense\":{\"date\":\"2026-02-15\",\"amount\":152.75,\"description\":\"Client entertainment - updated\",\"reference_number\":\"EXP-2026-045\",\"category_id\":\"1234567890123456789\",\"project_id\":\"9876543210987654321\",\"is_billed\":false,\"custom_fields\":[{\"label\":\"Attendee\",\"value\":\"John Doe\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateExpenseWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateExpenseWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateExpenseWithCustomField@1.0.0", + "description": "Update or create an expense using custom field values.\n\n This tool updates an existing expense based on a unique custom field value. If the unique value doesn't match any existing expenses, and the X-Upsert header is true, a new expense will be created if all required details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the expense update is intended. It is required to identify the target organization in the API. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_api_name", + "type": "string", + "required": false, + "description": "API name of the unique custom field used to identify the expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value for the custom field used to update or create an expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_upsert_new_expense", + "type": "boolean", + "required": false, + "description": "Set to true to create a new expense if no matching unique custom field value is found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_expense_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateExpenseWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "custom_field_api_name": { + "value": "employee_id", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "EMP-1234", + "type": "string", + "required": false + }, + "allow_upsert_new_expense": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"date\":\"2026-02-15\",\"account_id\":\"987654321\",\"amount\":150.75,\"description\":\"Client dinner with Acme Corp\",\"reference_number\":\"EXP-2026-001\",\"custom_fields\":{\"employee_id\":\"EMP-1234\"},\"notes\":\"Meal and transportation\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateFixedAssetInfo", + "qualifiedName": "ZohoBooksApi.UpdateFixedAssetInfo", + "fullyQualifiedName": "ZohoBooksApi.UpdateFixedAssetInfo@1.0.0", + "description": "Update fixed asset details in Zoho Books.\n\n Use this tool to update the information of a specific fixed asset in Zoho Books by providing the necessary asset details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization whose fixed asset you wish to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific fixed asset to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateFixedAssetInfo", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "fixed_asset_identifier": { + "value": "FA-2023-045", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"fixed_asset\": {\"asset_name\": \"Office Laptop - Finance\", \"asset_code\": \"FA-2023-045\", \"purchase_date\": \"2023-11-15\", \"purchase_cost\": 2100.00, \"salvage_value\": 100.00, \"depreciation_method\": \"Straight Line\", \"useful_life_in_years\": 3, \"location\": \"Head Office - Floor 2\", \"vendor_id\": \"VEND-6789\", \"warranty_expiry\": \"2025-11-14\", \"notes\": \"Assigned to Jane Doe in Finance department.\", \"is_active\": true, \"custom_fields\": {\"department\": \"Finance\", \"asset_tag\": \"FIN-LAP-045\"}}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateFixedAssetType", + "qualifiedName": "ZohoBooksApi.UpdateFixedAssetType", + "fullyQualifiedName": "ZohoBooksApi.UpdateFixedAssetType@1.0.0", + "description": "Update a fixed asset type with new information.\n\n Use this tool to update the details of a fixed asset type by providing the relevant asset type ID and new information. It should be called when modifying asset categories in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_type_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the fixed asset type to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_fixed_asset_type'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateFixedAssetType", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6678480000001234567", + "type": "string", + "required": false + }, + "fixed_asset_type_identifier": { + "value": "AT-987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"fixed_asset_type\":{\"name\":\"Office Furniture\",\"code\":\"OFF_FURN\",\"description\":\"Updated category for office desks and chairs\",\"depreciation_method\":\"straight_line\",\"useful_life\":7,\"residual_value\":150.00,\"capitalizable\":true,\"account_id\":\"2000123456\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoice", + "qualifiedName": "ZohoBooksApi.UpdateInvoice", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoice@1.0.0", + "description": "Update details of an existing invoice in Zoho Books.\n\n Use this tool to modify the details of an existing invoice. If you need to remove a line item, simply exclude it from the line_items list.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization to which the invoice belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to be updated. Ensure this ID corresponds to an existing invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_invoice_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic invoice number generation, requiring manual entry of the invoice number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "invoice_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "ignore_auto_invoice_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"invoice\":{\"customer_id\":\"54321\",\"date\":\"2026-02-15\",\"due_date\":\"2026-03-01\",\"reference_number\":\"PO-2026-045\",\"notes\":\"Updated per client request.\",\"line_items\":[{\"item_id\":\"1001\",\"name\":\"Design Services\",\"rate\":150.0,\"quantity\":10,\"discount\":5,\"account_id\":\"2001\",\"tax_id\":\"3001\"},{\"item_id\":\"1002\",\"name\":\"Hosting\",\"rate\":20.0,\"quantity\":12,\"account_id\":\"2002\"}],\"shipping_charge\":25.0,\"adjustment\":-10.0,\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Website redesign\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceByCustomField", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceByCustomField@1.0.0", + "description": "Update or create an invoice using a custom field value.\n\n Call this tool to update an existing invoice or create a new one using a custom field's unique value. If the value is not found and X-Upsert is true, a new invoice will be created if all required details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. This is required to specify which organization's invoice should be updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to locate the invoice to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to find or create the invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_invoice_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new invoice if the unique custom field value is not found in existing invoices. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_project_code", + "type": "string", + "required": false + }, + "custom_field_value": { + "value": "PROJ-ABC-123", + "type": "string", + "required": false + }, + "create_new_invoice_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"1234567890\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-20\",\"reference_number\":\"INV-1001\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Consulting Services\",\"rate\":150.0,\"quantity\":10},{\"item_id\":\"987654322\",\"name\":\"Software License\",\"rate\":500.0,\"quantity\":1}],\"notes\":\"Thank you for your business.\",\"custom_fields\":[{\"label\":\"ProjectCode\",\"value\":\"PROJ-ABC-123\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceComment", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceComment@1.0.0", + "description": "Update an existing comment on an invoice.\n\n Use this tool to update a specific comment on an invoice by providing the invoice and comment IDs.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "ID of the organization for which the invoice comment needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_id", + "type": "string", + "required": false, + "description": "Unique identifier for the invoice to update its comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": false, + "description": "Unique identifier of the comment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "60011122233", + "type": "string", + "required": false + }, + "invoice_unique_id": { + "value": "INV-2026-0001", + "type": "string", + "required": false + }, + "comment_id": { + "value": "CMT-78910", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Updated invoice comment: Please review the adjusted due date.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceCustomFields@1.0.0", + "description": "Update custom fields in an existing invoice.\n\n Use this tool to modify the value of custom fields in a specified invoice. It should be called when you need to change or update custom information for invoice records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the invoice belongs. This is required to identify the correct organization context for the invoice update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to update custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"index\":1,\"label\":\"Sales Rep\",\"value\":\"Jane Doe\"},{\"index\":2,\"label\":\"Project Code\",\"value\":\"PRJ-4021\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceShippingAddress", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceShippingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceShippingAddress@1.0.0", + "description": "Update the shipping address of a specific invoice.\n\n Use this tool to update the shipping address associated with a specific invoice in Zoho Books. It is used when there's a need to modify the shipping information for an invoice after it has been created.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required to specify which organization's invoice will be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to update the shipping address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_shipping_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceShippingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "invoice_unique_identifier": { + "value": "4800000123456789012", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"shipping_address\":{\"attention\":\"Jane Smith\",\"street\":\"456 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"phone\":\"+1-415-555-0199\",\"fax\":\"\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceTemplate", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceTemplate@1.0.0", + "description": "Update the PDF template for a specific invoice.\n\nUse this tool to update the PDF template associated with a particular invoice. This is useful when you need to change the template style or format of an invoice after it has been issued.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the invoice template is being updated.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the invoice to update the PDF template.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_template_id", + "type": "string", + "required": true, + "description": "Unique identifier for the invoice template to be updated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceTemplate", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "invoice_template_id": { + "value": "tmpl_5f4d3a2b", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateItemCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateItemCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateItemCustomFields@1.0.0", + "description": "Updates custom fields in an existing item.\n\n Use this tool to update the value of custom fields in existing items. Call it when you need to modify specific custom field information for an item record in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization associated with the item. This is required to specify which organization's item custom fields should be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": false, + "description": "Provide the unique identifier for the item to update its custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateItemCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "item_identifier": { + "value": "50009876543", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"label\":\"Color\",\"value\":\"Red\",\"index\":1},{\"label\":\"Material\",\"value\":\"Cotton\",\"index\":2}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateItemViaCustomField", + "qualifiedName": "ZohoBooksApi.UpdateItemViaCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateItemViaCustomField@1.0.0", + "description": "Update or create an item using a unique custom field.\n\n Use this tool to update an existing item or create a new one based on a unique custom field value in Zoho Books. If the custom field value matches, the item is updated; otherwise, a new item is created if allowed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This ID is used to specify which organization's data you are trying to access or modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used for identifying the item. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify or create an item in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_item_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new item if no item matches the unique custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_item_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateItemViaCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_sku", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "WMX200", + "type": "string", + "required": false + }, + "create_item_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"item\":{\"name\":\"Wireless Mouse - Model X200\",\"rate\":29.99,\"sku\":\"WMX200\",\"description\":\"Ergonomic wireless mouse with USB receiver\",\"unit\":\"pcs\",\"custom_fields\":[{\"api_name\":\"cf_sku\",\"value\":\"WMX200\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateJournalInZohoBooks", + "qualifiedName": "ZohoBooksApi.UpdateJournalInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.UpdateJournalInZohoBooks@1.0.0", + "description": "Updates a journal entry in Zoho Books with specified details.\n\n This tool updates an existing journal entry in Zoho Books using the provided details. It should be called when a user needs to modify a journal entry in their Zoho Books account.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required for identifying which organization's journal entry to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the journal entry to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_journal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateJournalInZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6000000000001", + "type": "string", + "required": false + }, + "journal_identifier": { + "value": "100000000000001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"journal\": {\"date\": \"2026-02-01\", \"reference_number\": \"JN-2026-002\", \"notes\": \"Adjusted accruals for January\", \"line_items\": [{\"account_id\": \"123456789012345\", \"debit\": 1500.00, \"credit\": 0.00, \"description\": \"Accrued expense - salary\"}, {\"account_id\": \"987654321098765\", \"debit\": 0.00, \"credit\": 1500.00, \"description\": \"Accrued liability - salary\"}], \"custom_fields\": [{\"label\": \"Approval\", \"value\": \"Manager\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateLocationInZohoBooks", + "qualifiedName": "ZohoBooksApi.UpdateLocationInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.UpdateLocationInZohoBooks@1.0.0", + "description": "Update location details in Zoho Books.\n\n Use this tool to update location details in Zoho Books by specifying the location ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books. It is required to identify which organization's location is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "location_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the location to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_location'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateLocationInZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "location_identifier": { + "value": "LOC-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"location\":{\"location_name\":\"Main Warehouse\",\"phone\":\"+1-555-123-4567\",\"is_primary\":true,\"fax\":\"+1-555-987-6543\",\"email\":\"warehouse@example.com\",\"is_taxable\":false,\"address\":{\"street\":\"123 Main St\",\"city\":\"Austin\",\"state\":\"TX\",\"zip\":\"78701\",\"country\":\"USA\"}}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateOpeningBalance", + "qualifiedName": "ZohoBooksApi.UpdateOpeningBalance", + "fullyQualifiedName": "ZohoBooksApi.UpdateOpeningBalance@1.0.0", + "description": "Update the existing opening balance information.\n\n This tool is used to update the existing opening balance information in Zoho Books. It should be called when there is a need to modify or correct the initial financial figures recorded in the system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required for updating the opening balance information. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_opening_balance'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateOpeningBalance", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"opening_balance\": {\"id\": \"ob_987654321\",\"account_id\": \"acct_123456\",\"amount\": 12500.50,\"date\": \"2024-01-01\",\"currency_code\": \"USD\",\"notes\": \"Corrected opening balance after audit\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateOrganizationDetails", + "qualifiedName": "ZohoBooksApi.UpdateOrganizationDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateOrganizationDetails@1.0.0", + "description": "Update an organization's details in Zoho Books.\n\n This tool updates the details of an organization in Zoho Books. It should be called when you need to modify existing information about a specific organization.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier of the organization to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique string identifier for the organization to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_organization'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateOrganizationDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "organization_identifier": { + "value": "acme_corp_us", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"organization\": {\"company_name\": \"Acme Corporation\",\"email\": \"contact@acme.example\",\"phone\": \"+1-555-1234\",\"website\": \"https://www.acme.example\",\"currency_id\": \"USD\",\"financial_year_start_month\": \"April\",\"tax_registration_number\": \"TAX-987654321\",\"address\": {\"street\": \"123 Industrial Way\",\"city\": \"Metropolis\",\"state\": \"NY\",\"zip\": \"10001\",\"country\": \"USA\"}}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePaymentByCustomField", + "qualifiedName": "ZohoBooksApi.UpdatePaymentByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdatePaymentByCustomField@1.0.0", + "description": "Update or upsert a customer payment using a unique custom field.\n\n Use this tool to update an existing customer payment or create a new one if it doesn't exist, by specifying a unique value from a custom field. The unique custom field value helps identify the payment to update. If upsert is enabled, a new payment will be created when the unique value is not found.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization whose payment is being updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "API name of the unique custom field used to identify the payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify or create a payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_payment_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new payment when no matching unique custom field value is found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_customer_payment_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePaymentByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_payment_reference", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "INV-PAY-2026-0001", + "type": "string", + "required": false + }, + "create_new_payment_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"9876543210\",\"amount\":1500.00,\"payment_mode\":\"Credit Card\",\"date\":\"2026-02-18\",\"reference_number\":\"CC-1234\",\"notes\":\"Payment for invoice INV-1001\",\"custom_fields\":[{\"label\":\"Payment Reference\",\"value\":\"INV-PAY-2026-0001\",\"api_name\":\"cf_payment_reference\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePaymentRefund", + "qualifiedName": "ZohoBooksApi.UpdatePaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.UpdatePaymentRefund@1.0.0", + "description": "Update details of a customer payment refund.\n\n This tool updates the details of a refunded transaction for a customer payment in Zoho Books. It should be called when you need to modify existing refund details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required to access the organization's data. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the customer payment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "refund_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the refund transaction to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_customer_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePaymentRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "customer_payment_identifier": { + "value": "cp_987654321", + "type": "string", + "required": false + }, + "refund_identifier": { + "value": "rf_54321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund\":{\"amount\":150.00,\"refund_date\":\"2026-02-15\",\"refund_mode\":\"Bank Transfer\",\"reference_number\":\"REF-20260215-001\",\"notes\":\"Partial refund due to returned items\",\"bank_charge\":2.5,\"account_id\":\"78901234567890\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateProjectDetails", + "qualifiedName": "ZohoBooksApi.UpdateProjectDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateProjectDetails@1.0.0", + "description": "Update details of a project in Zoho Books.\n\n This tool is called to update the details of a specific project within Zoho Books. It should be used when you need to modify project information such as its name, status, or any other attributes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization within Zoho Books, required to identify the organization whose project is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the project to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateProjectDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "project_unique_identifier": { + "value": "proj_987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"project\":{\"project_name\":\"Website Redesign\",\"status\":\"in_progress\",\"billing_type\":\"fixed_fee\",\"start_date\":\"2026-01-15\",\"end_date\":\"2026-06-30\",\"description\":\"Redesigning corporate website to improve UX and performance.\",\"project_manager_id\":\"452367890\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateProjectTask", + "qualifiedName": "ZohoBooksApi.UpdateProjectTask", + "fullyQualifiedName": "ZohoBooksApi.UpdateProjectTask@1.0.0", + "description": "Update the details of a project task.\n\n Use this tool to update the details of a specific task within a project in Zoho Books. It should be called when you need to change task information such as its status, due date, or other attributes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books to identify the context for the task update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the project in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "task_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the task to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_task'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateProjectTask", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "772381000000123456", + "type": "string", + "required": false + }, + "project_identifier": { + "value": "772381000000654321", + "type": "string", + "required": false + }, + "task_identifier": { + "value": "772381000000765432", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Design mockups\",\"description\":\"Update UI mockups for the dashboard based on new branding\",\"status\":\"in_progress\",\"start_date\":\"2026-02-20\",\"due_date\":\"2026-03-15\",\"estimated_hours\":12.5,\"billable\":true,\"owner_id\":\"987654321\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateProjectUserDetails", + "qualifiedName": "ZohoBooksApi.UpdateProjectUserDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateProjectUserDetails@1.0.0", + "description": "Update user details in a specific project.\n\n Use this tool to update details of a user within a specified project in Zoho Books. It confirms the changes made to the user's information.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to update the user's project details. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the project in Zoho Books. Required to specify which project's user details are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the user to be updated within the project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateProjectUserDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "project_identifier": { + "value": "proj_987654321", + "type": "string", + "required": false + }, + "user_identifier": { + "value": "user_87654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"project_user\":{\"user_id\":\"87654321\",\"role\":\"Developer\",\"hourly_rate\":45.0,\"is_active\":true,\"billable\":true,\"email\":\"jane.doe@example.com\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateProjectWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateProjectWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateProjectWithCustomField@1.0.0", + "description": "Update or create projects using a unique custom field.\n\n This tool updates an existing project or creates a new one if no match is found, using a unique custom field value in Zoho Books. Utilize it when you need to modify projects with specific identifiers.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "A string representing the organization's ID required to update or create a project using the custom field. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value for the custom field used to identify or create a project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_project_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new project if no existing project matches the unique custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_projects_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateProjectWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_unique_project_code", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "PROJ-2026-001", + "type": "string", + "required": false + }, + "create_new_project_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"project\":{\"name\":\"Alpha Website Redesign\",\"billing\":\"project\",\"owner_id\":\"987654321\",\"start_date\":\"2026-02-01\",\"end_date\":\"2026-06-30\",\"budget_hours\":500,\"status\":\"active\",\"custom_fields\":[{\"api_name\":\"cf_unique_project_code\",\"value\":\"PROJ-2026-001\"}],\"description\":\"Redesign the corporate website to improve conversion rates and accessibility.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrder", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrder@1.0.0", + "description": "Update an existing purchase order in Zoho Books.\n\n Use this tool to update details of a specific purchase order in Zoho Books. It should be called when changes to a purchase order need to be made.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the purchase order is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific purchase order to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_file_path", + "type": "string", + "required": false, + "description": "File path of the attachment with extensions: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "If true, ignore automatic purchase order number generation and manually specify the order number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6789012345", + "type": "string", + "required": false + }, + "purchase_order_identifier": { + "value": "PO-2026-045", + "type": "string", + "required": false + }, + "attachment_file_path": { + "value": "/tmp/po_attachment.pdf", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"purchase_order\":{\"purchase_order_number\":\"PO-2026-045\",\"vendor_id\":\"1234567890\",\"contact_persons\":[\"9876543210\"],\"date\":\"2026-02-15\",\"delivery_date\":\"2026-03-01\",\"reference_number\":\"REF-00123\",\"exchange_rate\":1.0,\"discount\":10.0,\"is_discount_before_tax\":false,\"discount_type\":\"fixed\",\"shipping_charge\":15.0,\"adjustment\":-5.0,\"notes\":\"Updated delivery date and adjusted pricing.\",\"line_items\":[{\"item_id\":\"111111\",\"name\":\"Widget A\",\"description\":\"Updated spec for Widget A\",\"quantity\":10,\"rate\":25.0,\"discount\":5.0,\"tax_id\":\"222222\",\"account_id\":\"333333\"},{\"item_id\":\"444444\",\"name\":\"Widget B\",\"description\":\"Added second line item\",\"quantity\":5,\"rate\":50.0,\"tax_id\":\"555555\",\"account_id\":\"333333\"}],\"billing_address\":{\"address\":\"123 Billing St\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10001\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"456 Shipping Ave\",\"city\":\"Gotham\",\"state\":\"NY\",\"zip\":\"10002\",\"country\":\"USA\"},\"custom_fields\":[{\"index\":1,\"value\":\"Urgent\"},{\"index\":2,\"value\":\"Internal-Ref-42\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrderBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderBillingAddress@1.0.0", + "description": "Update the billing address for a specific purchase order.\n\n Use this tool to modify the billing address of a single purchase order in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to update the billing address in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific purchase order to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrderBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "800123456789", + "type": "string", + "required": false + }, + "purchase_order_identifier": { + "value": "PO-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"address\":\"123 Acme St\",\"street2\":\"Suite 400\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10101\",\"country\":\"USA\",\"phone\":\"+1-555-0100\",\"fax\":\"+1-555-0101\",\"attention\":\"John Doe\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrderByCustomField", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderByCustomField@1.0.0", + "description": "Update or create a purchase order via custom field value.\n\n Use this tool to update an existing purchase order or create a new one if needed, based on a unique custom field value. It should be called when you need to modify a purchase order by using a custom field's unique identifier.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. This is required to specify which organization's purchase order needs to be updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to update or identify the purchase order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "Unique value for the custom field to retrieve and update the purchase order. This should match the specific custom field value used to identify the order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_order_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new purchase order if no existing order matches the unique custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrderByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "po_external_id", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "EXT-PO-2026-001", + "type": "string", + "required": false + }, + "create_new_order_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"purchaseorder_number\":\"PO-2026-1001\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-20\",\"line_items\":[{\"item_id\":\"111222333\",\"description\":\"Widget A\",\"quantity\":10,\"rate\":25.5,\"tax_id\":\"VAT-01\"},{\"item_id\":\"444555666\",\"description\":\"Widget B\",\"quantity\":5,\"rate\":100.0,\"tax_id\":\"VAT-01\"}],\"shipping_charge\":15.0,\"adjustment\":0.0,\"custom_fields\":[{\"label\":\"External PO ID\",\"value\":\"EXT-PO-2026-001\",\"api_name\":\"po_external_id\"}],\"notes\":\"Automated update via API\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrderComment", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderComment", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderComment@1.0.0", + "description": "Update an existing comment on a purchase order.\n\n Use this tool to update a specific comment on a purchase order in Zoho Books. It should be called when you need to modify or correct information in a comment related to a purchase order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID representing the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": false, + "description": "The unique identifier for the purchase order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the comment to be updated in the purchase order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrderComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "purchase_order_id": { + "value": "PO-98765", + "type": "string", + "required": false + }, + "comment_identifier": { + "value": "CMT-54321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\": {\"content\": \"Updated: Please ship by May 1st instead of April 25th.\", \"is_private\": false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrderEmailAttachment", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderEmailAttachment", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderEmailAttachment@1.0.0", + "description": "Update email attachment preference for a purchase order.\n\nThis tool updates the preference to include or exclude the attached file when emailing a specific purchase order. It should be called when you need to change whether the attachment is sent via email for a particular purchase order.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the purchase order email attachment preference is being updated.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to update the email attachment preference for.", + "enum": null, + "inferrable": true + }, + { + "name": "include_attachment_with_email", + "type": "boolean", + "required": true, + "description": "Boolean to determine if the attachment should be sent with the purchase order email. Set to true to include the attachment, or false to exclude it.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrderEmailAttachment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-2026-0001", + "type": "string", + "required": true + }, + "include_attachment_with_email": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringBill", + "qualifiedName": "ZohoBooksApi.UpdateRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringBill@1.0.0", + "description": "Update details of a recurring bill in Zoho Books.\n\n Use this tool to update a recurring bill in Zoho Books. Modify its details including line items by removing them from the list if needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This ID is required to specify the organization whose recurring bill is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the recurring bill to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "recurring_bill_identifier": { + "value": "RB-2026-004", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"1234567890\",\"reference_number\":\"RB-2026-004\",\"recurrence\":{\"repeat_every\":1,\"repeat_period\":\"month\"},\"start_date\":\"2026-03-01\",\"end_date\":\"2026-12-01\",\"line_items\":[{\"line_item_id\":\"111\",\"item_id\":\"98765\",\"description\":\"Monthly maintenance\",\"rate\":150.00,\"quantity\":1,\"discount\":0,\"account_id\":\"55555\",\"tax_id\":\"vat_01\"},{\"line_item_id\":\"112\",\"item_id\":\"98766\",\"description\":\"On-site support\",\"rate\":200.00,\"quantity\":2,\"is_deleted\":true}],\"notes\":\"Updated recurring bill schedule and removed a line item.\",\"currency_id\":\"USD\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringBillCustomField", + "qualifiedName": "ZohoBooksApi.UpdateRecurringBillCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringBillCustomField@1.0.0", + "description": "Update or create a recurring bill using a unique custom field.\n\n This tool updates a recurring bill by identifying it through a custom field with a unique value. If the unique value does not match any existing recurring bills and the X-Upsert header is true, a new bill will be created if the necessary details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization associated with the recurring bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_unique_identifier_key", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the recurring bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "Unique value of the custom field used to identify the recurring bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_creation_if_missing", + "type": "boolean", + "required": false, + "description": "Set to true to create a new recurring bill if the unique custom field value is not found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_bill_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringBillCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "668123456", + "type": "string", + "required": false + }, + "custom_field_unique_identifier_key": { + "value": "cf_unique_code", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "RBILL-2026-001", + "type": "string", + "required": false + }, + "allow_creation_if_missing": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"123456789012345\",\"reference_number\":\"RB-001\",\"start_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"frequency\":\"MONTHLY\",\"day_of_month\":1,\"currency_code\":\"USD\",\"line_items\":[{\"name\":\"Monthly subscription\",\"description\":\"Service subscription\",\"rate\":99.99,\"quantity\":1}],\"notes\":\"Recurring bill created via API\",\"custom_fields\":[{\"api_name\":\"cf_unique_code\",\"value\":\"RBILL-2026-001\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringExpense", + "qualifiedName": "ZohoBooksApi.UpdateRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringExpense@1.0.0", + "description": "Update or create a recurring expense using a custom field.\n\n Use this tool to update a recurring expense in Zoho Books by specifying a unique custom field value. If the expense doesn't exist and upsert is enabled, a new expense can be created. This is useful for maintaining accurate financial records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization whose recurring expense is to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "Unique CustomField API Name to identify the recurring expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "Unique value of the CustomField used to identify the recurring expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_recurring_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new recurring expense if the unique custom field value is not found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_expense_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "custom_field_abc", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "EXP-2026-001", + "type": "string", + "required": false + }, + "create_new_recurring_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"recurring_expense\":{\"vendor_id\":\"987654321\",\"reference_number\":\"RECUR-EXP-001\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-12-31\",\"recurring_frequency\":\"monthly\",\"repeat_every\":1,\"recurring_day\":1,\"notes\":\"Monthly maintenance fee\",\"line_items\":[{\"account_id\":\"111111111\",\"description\":\"Maintenance service\",\"rate\":150.00,\"quantity\":1}],\"custom_fields\":[{\"customfield_api_name\":\"custom_field_abc\",\"value\":\"EXP-2026-001\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringInvoice", + "qualifiedName": "ZohoBooksApi.UpdateRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringInvoice@1.0.0", + "description": "Update details of a recurring invoice in Zoho Books.\n\n Use this tool to modify an existing recurring invoice in Zoho Books by specifying the invoice ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required for updating a recurring invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the recurring invoice to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "recurring_invoice_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"recurring_invoice\":{\"customer_id\":\"1122334455\",\"recurrence_frequency\":1,\"recurrence_period\":\"months\",\"start_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"day_of_month\":15,\"items\":[{\"item_id\":\"99887766\",\"name\":\"Website Maintenance\",\"rate\":150.0,\"quantity\":1}],\"note\":\"Monthly maintenance invoice updated\",\"terms\":\"Payment due within 15 days\",\"template_id\":\"2001\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringInvoiceCustomField", + "qualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceCustomField@1.0.0", + "description": "Update or create a recurring invoice using a custom field.\n\n This tool updates an existing recurring invoice or creates a new one using a custom field's unique value. Use when you need to update invoices based on unique custom identifiers. If the unique key isn't found and the upsert option is true, a new invoice is created.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. This ID is required to update or create a recurring invoice using the custom field. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The unique API name of the custom field used to identify which recurring invoice to update or create. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value for the custom field used to identify and update the recurring invoice. This should be a unique string associated with a custom field configured to reject duplicates. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_upsert", + "type": "boolean", + "required": false, + "description": "Set to true to create a new invoice if no existing invoice matches the unique identifier. Set to false to update only without creating a new invoice. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_invoice_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringInvoiceCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "860102221", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_subscription_id", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "SUBS-2026-0001", + "type": "string", + "required": false + }, + "enable_upsert": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"123456789\",\"reference_number\":\"RECUR-1001\",\"frequency\":\"MONTHLY\",\"repeat_every\":1,\"start_date\":\"2026-02-01\",\"end_date\":\"2026-12-31\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Monthly subscription\",\"rate\":49.99,\"quantity\":1}],\"custom_fields\":[{\"customfield_id\":\"cf_subscription_id\",\"index\":1,\"value\":\"SUBS-2026-0001\"}],\"notes\":\"Automated monthly billing\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringInvoiceTemplate", + "qualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceTemplate@1.0.0", + "description": "Update the PDF template for a recurring invoice.\n\n This tool updates the PDF template associated with a specific recurring invoice in Zoho Books. It is used when you need to change the template for invoices that are generated on a recurring basis.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the organization. This ID is used to specify which organization's recurring invoice template will be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the recurring invoice to update the PDF template for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_template_id", + "type": "string", + "required": false, + "description": "Unique identifier of the recurring invoice template to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_invoice_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringInvoiceTemplate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "4256789012345678901", + "type": "string", + "required": false + }, + "recurring_invoice_identifier": { + "value": "REC_INV_987654321", + "type": "string", + "required": false + }, + "invoice_template_id": { + "value": "TPL_111222333", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"pdf_template\":{\"template_id\":\"TPL_111222333\",\"name\":\"Corporate Template V2\",\"is_default\":false,\"header\":\"Company Header - Q1\",\"footer\":\"Payment due in 30 days. Thank you.\",\"notes\":\"Updated template for new branding and terms\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRefundTransaction", + "qualifiedName": "ZohoBooksApi.UpdateRefundTransaction", + "fullyQualifiedName": "ZohoBooksApi.UpdateRefundTransaction@1.0.0", + "description": "Update the refunded transaction details.\n\n Use this tool to update the details of a refunded transaction associated with a specific credit note. This is helpful when corrections or updates are needed for bookkeeping or record maintenance.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization. Required to identify which organization's records are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to update the refund transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_refund_id", + "type": "string", + "required": false, + "description": "Provide the unique identifier of the credit note refund to update its transaction details. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRefundTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "credit_note_identifier": { + "value": "CN-2026-00042", + "type": "string", + "required": false + }, + "credit_note_refund_id": { + "value": "RFND-98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund_transaction\":{\"payment_mode\":\"Bank Transfer\",\"transaction_number\":\"TRX-2026-0001\",\"date\":\"2026-02-15\",\"amount\":150.00,\"reference_number\":\"REF-7890\",\"notes\":\"Corrected transaction amount and reference\",\"account_id\":\"123456789\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRetainerInvoiceComment", + "qualifiedName": "ZohoBooksApi.UpdateRetainerInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.UpdateRetainerInvoiceComment@1.0.0", + "description": "Update a comment on a retainer invoice.\n\n Use this tool to update an existing comment of a retainer invoice by specifying the invoice and comment IDs.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the retainer invoice belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the retainer invoice to update the comment for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the comment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_retainer_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRetainerInvoiceComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "comment_identifier": { + "value": "cmt_112233", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\": {\"content\": \"Updated comment text for retainer invoice.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderBillingAddress@1.0.0", + "description": "Updates the billing address for a specific sales order.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization associated with the sales order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to update the billing address for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "sales_order_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"Jane Doe\",\"address\":\"123 Market St\",\"street2\":\"Suite 500\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\",\"phone\":\"+1-415-555-0132\",\"fax\":\"+1-415-555-0150\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderComment", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderComment", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderComment@1.0.0", + "description": "Update an existing comment on a sales order.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": false, + "description": "Unique identifier of the comment associated with the sales order that needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "SO-00012345", + "type": "string", + "required": false + }, + "comment_id": { + "value": "CMT-98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\": {\"content\": \"Updated comment text for sales order.\", \"is_public\": true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderCustomFields@1.0.0", + "description": "Update custom fields in existing sales orders efficiently.\n\n Call this tool to update the value of custom fields in existing sales orders when you need to modify order details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization associated with the sales order. This is required to identify which organization's sales order needs updating. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier for the sales order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_salesorder_customfields'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "1000000001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"salesorder\":{\"salesorder_id\":\"1000000001\",\"custom_fields\":[{\"customfield_id\":\"cf_001\",\"value\":\"Priority: High\"},{\"customfield_id\":\"cf_002\",\"value\":\"2026-03-01\"},{\"label\":\"Special Instructions\",\"value\":\"Handle with care\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderInZohoBooks", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderInZohoBooks@1.0.0", + "description": "Update details of an existing sales order in Zoho Books.\n\n Use this tool to update the details of an existing sales order in Zoho Books. It also allows for the deletion of line items by omitting them from the update request.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to which the sales order belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_number_of_files", + "type": "integer", + "required": false, + "description": "Specify the total number of files to be attached to the sales order update. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attach_document", + "type": "string", + "required": false, + "description": "A document to be attached to the sales order. Provide the file path or URL as a string. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to TRUE to ignore auto-generation of the sales order number. This requires manually entering the number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_email_sending", + "type": "boolean", + "required": false, + "description": "Determine if the updated sales order can be sent via email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderInZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "987654321098765", + "type": "string", + "required": false + }, + "total_number_of_files": { + "value": 1, + "type": "integer", + "required": false + }, + "attach_document": { + "value": "https://example.com/docs/so-2026-0001-attachment.pdf", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "allow_email_sending": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"salesorder_number\":\"SO-2026-0001\",\"customer_id\":\"54321000000012345\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-18\",\"line_items\":[{\"item_id\":\"54321000000054321\",\"name\":\"Premium Widget\",\"description\":\"Updated widget description\",\"rate\":49.99,\"quantity\":10,\"discount\":5.0,\"tax_id\":\"54321000000098765\"},{\"name\":\"Service Charge\",\"description\":\"One-time setup fee\",\"rate\":150.0,\"quantity\":1,\"is_custom_item\":true}],\"shipping_address\":{\"attention\":\"Jane Doe\",\"address\":\"123 Main St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"billing_address\":{\"attention\":\"Jane Doe\",\"address\":\"123 Main St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"notes\":\"Please deliver between 9am-5pm.\",\"terms\":\"Net 30\",\"shipping_charge\":20.0,\"adjustment\":-5.0,\"exchange_rate\":1.0}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderSubStatus", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderSubStatus", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderSubStatus@1.0.0", + "description": "Update the sub status of a sales order in Zoho Books.\n\nThis tool updates the sub status of a specified sales order in Zoho Books, identified by the sales order ID and the new status code. It should be called when you need to change the status of an existing sales order.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. This ID is required to specify which organization's sales order needs an update.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific sales order to update.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_status_code", + "type": "string", + "required": true, + "description": "The unique code representing the new status for a sales order. This is required to update the status in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_sub_status'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderSubStatus", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-00012345", + "type": "string", + "required": true + }, + "sales_order_status_code": { + "value": "pending_approval", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderTemplate", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderTemplate@1.0.0", + "description": "Update the PDF template for a sales order.\n\nThis tool updates the PDF template associated with a specific sales order. Use it when you need to change the template for an existing sales order.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization associated with the sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the sales order to be updated with a new PDF template.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_template_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order template to update.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderTemplate", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-2026-000123", + "type": "string", + "required": true + }, + "sales_order_template_id": { + "value": "SOT-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderWithCustomField@1.0.0", + "description": "Update or create a sales order using a custom field.\n\n Use a custom field's unique value to update an existing sales order or create a new one if the order does not exist and the required details are provided. This tool is useful when managing sales orders using specific identifiers in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the sales order to update or create. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to retrieve and update a specific sales order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_creation_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new sales order if the unique custom field value is not found. Complete details are required for creation. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "external_order_id", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "EXT-2026-0001", + "type": "string", + "required": false + }, + "allow_creation_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"salesorder\": {\"customer_id\": \"987654321\",\"date\": \"2026-02-18\",\"reference_number\": \"SO-2026-0001\",\"salesorder_items\": [{\"item_id\": \"112233\",\"description\": \"Widget A\",\"rate\": 49.99,\"quantity\": 2},{\"item_id\": \"112234\",\"description\": \"Widget B\",\"rate\": 29.5,\"quantity\": 1}],\"custom_fields\": [{\"label\": \"external_order_id\",\"api_name\": \"external_order_id\",\"value\": \"EXT-2026-0001\"}],\"notes\": \"Created via API using unique custom field\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesReceipt", + "qualifiedName": "ZohoBooksApi.UpdateSalesReceipt", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesReceipt@1.0.0", + "description": "Update an existing sales receipt in Zoho Books.\n\n This tool is used to update details of an existing sales receipt in Zoho Books. It should be called when modifications to sales receipt data are required, such as changing amounts, dates, or other relevant information.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. It is required to specify which organization's sales receipt needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_receipt_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the sales receipt to be updated. This is required to specify which receipt to modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesReceipt", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6789012345", + "type": "string", + "required": false + }, + "sales_receipt_identifier": { + "value": "SR-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"salesreceipt\":{\"customer_id\":\"1234567890\",\"date\":\"2026-02-15\",\"reference_number\":\"SR-2026-045\",\"billing_address\":{\"address\":\"123 Main St\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10001\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"456 Oak Ave\",\"city\":\"Gotham\",\"state\":\"NY\",\"zip\":\"10002\",\"country\":\"USA\"},\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Consulting services\",\"rate\":150.0,\"quantity\":10,\"tax_id\":\"TAX-001\"},{\"item_id\":\"987654322\",\"description\":\"Software license\",\"rate\":499.99,\"quantity\":1,\"tax_id\":\"TAX-002\",\"discount\":10}],\"shipping_charge\":25.0,\"adjustment\":-5.0,\"notes\":\"Updated per client request\",\"custom_fields\":[{\"label\":\"PO Number\",\"value\":\"PO-4512\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateShippingAddressSalesOrder", + "qualifiedName": "ZohoBooksApi.UpdateShippingAddressSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.UpdateShippingAddressSalesOrder@1.0.0", + "description": "Update the shipping address for a specific sales order.\n\n This tool updates the shipping address for a specific sales order in Zoho Books. It should be called when there's a need to modify the delivery location of an existing order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books to update the shipping address for the sales order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_shipping_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateShippingAddressSalesOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "sales_order_identifier": { + "value": "SO-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"shipping_address\":{\"attention\":\"John Doe\",\"address\":\"456 Warehouse Rd\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10101\",\"country\":\"United States\",\"phone\":\"+1-555-987-6543\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTaxAuthorityDetails", + "qualifiedName": "ZohoBooksApi.UpdateTaxAuthorityDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateTaxAuthorityDetails@1.0.0", + "description": "Update details of a tax authority.\n\n Use this tool to update information for a specific tax authority. Ideal for modifications to existing records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization for which the tax authority details need to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_authority_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the tax authority to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_tax_authority'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTaxAuthorityDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "tax_authority_identifier": { + "value": "TA_98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_authority_name\":\"State Sales Tax\",\"is_active\":true,\"tax_id\":\"ST-001\",\"description\":\"Updated rates effective 2026-04-01\",\"tax_authority_code\":\"STX\",\"default_tax_rate\":7.25,\"address\":{\"line1\":\"100 Main Street\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62701\",\"country\":\"USA\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTaxDetails", + "qualifiedName": "ZohoBooksApi.UpdateTaxDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateTaxDetails@1.0.0", + "description": "Update the details of a specified tax.\n\n Use this tool to update the details of a simple or compound tax by providing the tax ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the organization that owns the tax to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the tax to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_tax'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTaxDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "tax_identifier": { + "value": "7890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax\":{\"name\":\"State VAT - Updated\",\"rate\":8.25,\"is_compound\":false,\"inclusive\":false,\"description\":\"Updated tax rate effective 2026-04-01\",\"active\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTaxExemptionDetails", + "qualifiedName": "ZohoBooksApi.UpdateTaxExemptionDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateTaxExemptionDetails@1.0.0", + "description": "Update the details of a tax exemption.\n\n This tool updates the information of a specific tax exemption. It should be called when changes to tax exemption records are needed, such as modifying existing details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization for which the tax exemption needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_exemption_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the tax exemption to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_tax_exemption'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTaxExemptionDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "600123456", + "type": "string", + "required": false + }, + "tax_exemption_identifier": { + "value": "TE-2024-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_exemption\":{\"tax_exemption_number\":\"EXEMPT-001\",\"name\":\"Non-profit exemption\",\"customer_id\":\"CUST-1001\",\"valid_from\":\"2023-01-01\",\"valid_till\":\"2025-12-31\",\"remarks\":\"Updated exemption details\",\"is_active\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTaxGroupDetails", + "qualifiedName": "ZohoBooksApi.UpdateTaxGroupDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateTaxGroupDetails@1.0.0", + "description": "Update details of a specific tax group in Zoho Books.\n\n This tool updates the details of a tax group in Zoho Books using the provided tax group ID. It should be called when changes are needed to the tax group's configuration.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_group_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the tax group to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_tax_group'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTaxGroupDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "tax_group_identifier": { + "value": "987654321098765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_group\":{\"tax_group_name\":\"GST Composite\",\"status\":\"active\",\"taxes\":[{\"tax_name\":\"CGST\",\"tax_percentage\":9},{\"tax_name\":\"SGST\",\"tax_percentage\":9}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTimeEntry", + "qualifiedName": "ZohoBooksApi.UpdateTimeEntry", + "fullyQualifiedName": "ZohoBooksApi.UpdateTimeEntry@1.0.0", + "description": "Updates an existing logged time entry.\n\n Use this tool to modify details of a previously logged time entry in Zoho Books. Ideal when adjustments or updates need to be made to existing time logs.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to which the time entry belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "time_entry_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the existing time entry to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_time_entry'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTimeEntry", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "7890123456789012345", + "type": "string", + "required": false + }, + "time_entry_identifier": { + "value": "TE-20260218-001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"time_entry\":{\"employee_id\":\"EMP-54321\",\"project_id\":\"PROJ-98765\",\"task_id\":\"TASK-11223\",\"date\":\"2026-02-17\",\"hours\":4.5,\"billable\":true,\"notes\":\"Adjusted hours after client feedback.\",\"started_at\":\"2026-02-17T09:15:00Z\",\"stopped_at\":\"2026-02-17T13:45:00Z\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateUserDetails", + "qualifiedName": "ZohoBooksApi.UpdateUserDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateUserDetails@1.0.0", + "description": "Update user details in Zoho Books.\n\n Use this tool to update the information of an existing user in Zoho Books. Call it when changes to a user's profile are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization whose user's details are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the user to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateUserDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "543210987654321", + "type": "string", + "required": false + }, + "user_identifier": { + "value": "1020304050", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"user\":{\"first_name\":\"John\",\"last_name\":\"Doe\",\"email\":\"john.doe@example.com\",\"phone\":\"+1-555-0100\",\"role\":\"Accountant\",\"is_active\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorCredit", + "qualifiedName": "ZohoBooksApi.UpdateVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorCredit@1.0.0", + "description": "Update an existing vendor credit in Zoho Books.\n\n Use this tool to update the details of a specific vendor credit in Zoho Books. Call this when modifications to vendor credits are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required to update vendor credit. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": false, + "description": "The unique identifier for the vendor credit to be updated. This string is required to locate the specific credit. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorCredit", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "vendor_credit_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"555555\",\"reference_number\":\"VC-2026-001\",\"date\":\"2026-02-10\",\"total\":1500.0,\"line_items\":[{\"item_id\":\"11111\",\"description\":\"Replacement parts\",\"rate\":500.0,\"quantity\":3,\"tax_id\":\"22222\"}],\"notes\":\"Updated vendor credit to include additional replacement parts\",\"exchange_rate\":1.0}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorCreditRefund", + "qualifiedName": "ZohoBooksApi.UpdateVendorCreditRefund", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorCreditRefund@1.0.0", + "description": "Update a refunded vendor credit transaction.\n\n Use this tool to update details of a refunded vendor credit transaction by specifying the vendor credit ID and refund ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization. This is needed to specify which organization the vendor credit refund update applies to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the vendor credit to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_refund_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor credit refund transaction that needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_credit_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorCreditRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "vendor_credit_identifier": { + "value": "VC-1001", + "type": "string", + "required": false + }, + "vendor_credit_refund_identifier": { + "value": "VR-2002", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund_date\":\"2026-02-15\",\"amount\":250.00,\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"REF-7890\",\"account_id\":\"AC-3344\",\"notes\":\"Partial refund for vendor credit VC-1001\",\"exchange_rate\":1.0,\"line_items\":[{\"account_id\":\"AC-3344\",\"amount\":250.00,\"description\":\"Refund for returned goods\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorPayment", + "qualifiedName": "ZohoBooksApi.UpdateVendorPayment", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorPayment@1.0.0", + "description": "Update or modify an existing vendor payment.\n\n Use this tool to update an existing vendor payment, including modifying the amount applied to bills.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Provide the specific ID of the organization for which the vendor payment is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the vendor payment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "payment_identifier": { + "value": "VP-987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_payment\":{\"payment_number\":\"VP-2026-100\",\"date\":\"2026-02-18\",\"reference_number\":\"REF-456\",\"account_id\":\"321654987\",\"amount\":1500.00,\"description\":\"Adjusted vendor payment to apply to bills\",\"apply_to_bills\":[{\"bill_id\":\"BILL-1001\",\"amount_applied\":1000.00},{\"bill_id\":\"BILL-1002\",\"amount_applied\":500.00}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorPaymentRefund", + "qualifiedName": "ZohoBooksApi.UpdateVendorPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorPaymentRefund@1.0.0", + "description": "Update the refunded transaction for a vendor payment.\n\n Call this tool to update details related to a vendor payment refund. It is used when modifications to an existing refund transaction are necessary.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization associated with the refund transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the payment. Required to specify which payment is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_refund_id", + "type": "string", + "required": false, + "description": "Unique identifier of the vendor payment refund required for updating the transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorPaymentRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "payment_identifier": { + "value": "pay_9876543210", + "type": "string", + "required": false + }, + "vendor_payment_refund_id": { + "value": "refund_54321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund_date\":\"2026-02-15\",\"amount\":1500.00,\"refund_mode\":\"Bank Transfer\",\"bank_account_id\":\"bank_001\",\"reference_number\":\"REF-20260215-01\",\"notes\":\"Updated refund amount due to exchange rate adjustment\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorPaymentWithCustomId", + "qualifiedName": "ZohoBooksApi.UpdateVendorPaymentWithCustomId", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorPaymentWithCustomId@1.0.0", + "description": "Update or create a vendor payment using a unique custom field.\n\n This tool updates an existing vendor payment by using a unique custom field as an identifier. If the unique value is not found and the X-Upsert option is enabled, it will create a new vendor payment if sufficient details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the vendor payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_unique_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify or create a vendor payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_record_if_not_exists", + "type": "boolean", + "required": false, + "description": "Set to true to create a new vendor payment if no existing record matches the unique custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_payment_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorPaymentWithCustomId", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "custom_field_api_name": { + "value": "custom_unique_payment_id", + "type": "string", + "required": false + }, + "custom_field_unique_value": { + "value": "PAY-2026-0001", + "type": "string", + "required": false + }, + "create_new_record_if_not_exists": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"date\":\"2026-02-15\",\"amount\":1250.00,\"reference_number\":\"INV-PAY-001\",\"payment_mode\":\"Bank Transfer\",\"account_id\":\"1122334455\",\"notes\":\"Payment for invoice INV-1001\",\"custom_fields\":{\"custom_unique_payment_id\":\"PAY-2026-0001\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateZohoItemDetails", + "qualifiedName": "ZohoBooksApi.UpdateZohoItemDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateZohoItemDetails@1.0.0", + "description": "Update the details of an item in Zoho Books.\n\n Use this tool to update item details in Zoho Books by providing the item ID and the new information to be updated.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books for which the item details are to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the item to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateZohoItemDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "item_identifier": { + "value": "9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"item\": {\"name\": \"Wireless Mouse Pro\",\"sku\": \"WM-PRO-2026\",\"rate\": 29.99,\"purchase_rate\": 18.5,\"description\": \"Ergonomic wireless mouse with adjustable DPI\",\"unit\": \"pcs\",\"is_stock_tracking\": true,\"opening_stock\": 150,\"opening_stock_rate\": 18.5,\"tax_id\": \"TAX-12345\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "VoidInvoiceStatus", + "qualifiedName": "ZohoBooksApi.VoidInvoiceStatus", + "fullyQualifiedName": "ZohoBooksApi.VoidInvoiceStatus@1.0.0", + "description": "Mark an invoice as void in Zoho Books.\n\nUse this tool to change the status of an invoice to void in Zoho Books. This process will unassociate any payments and credits, placing them under customer credits.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to specify which organization the invoice belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the invoice to be marked as void.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_invoice_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.VoidInvoiceStatus", + "parameters": { + "organization_id": { + "value": "6000123456789012345", + "type": "string", + "required": true + }, + "invoice_unique_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "VoidRetainerInvoice", + "qualifiedName": "ZohoBooksApi.VoidRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.VoidRetainerInvoice@1.0.0", + "description": "Mark a retainer invoice as void.\n\nThis tool marks a specified retainer invoice as void, disassociating any payments and credits and moving them under customer credits.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization required to identify which organization's invoice to void.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier for the retainer invoice to be marked as void.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_retainer_invoice_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.VoidRetainerInvoice", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "RI-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "WriteOffFixedAsset", + "qualifiedName": "ZohoBooksApi.WriteOffFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.WriteOffFixedAsset@1.0.0", + "description": "Remove a fixed asset from the records.\n\n Use this tool to write off a fixed asset. It should be called when an asset needs to be removed from the records in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization's asset is to be written off. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the fixed asset to be written off in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'write_off_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.WriteOffFixedAsset", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "fixed_asset_identifier": { + "value": "FA-2023-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"write_off_date\":\"2025-01-15\",\"write_off_value\":1250.50,\"reason\":\"Damaged beyond repair\",\"disposed_to\":\"scrap\",\"disposal_account_id\":\"987654321\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "WriteOffInvoiceBalance", + "qualifiedName": "ZohoBooksApi.WriteOffInvoiceBalance", + "fullyQualifiedName": "ZohoBooksApi.WriteOffInvoiceBalance@1.0.0", + "description": "Write off the balance amount of an invoice in Zoho Books.\n\nUse this tool to write off the remaining balance of an invoice in Zoho Books when the amount is uncollectible.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the invoice to be written off.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'write_off_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.WriteOffInvoiceBalance", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-00042", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } } ], - "customImports": [ - "import StarterToolInfo from \"@/app/_components/starter-tool-info\";" - ], + "documentationChunks": [], + "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:48:05.819Z" -} + "generatedAt": "2026-02-18T02:43:28.089Z", + "summary": "Zoho Books API toolkit provides programmatic access to Zoho Books, enabling LLMs to automate accounting workflows—create, read, update, and delete invoices, bills, contacts, payments, projects, inventory and bank transactions—and to manage templates, attachments, reconciliation, approvals and exports.\n\n**Capabilities**\n\n- Unified CRUD, bulk and upsert operations across core financial entities with pagination, filtering and custom-field support.\n- Attachment, PDF/template management and email/send/export flows for invoices, estimates and purchase orders.\n- Bank-feed import, transaction categorization, matching/reconciliation and automated rules.\n- Approval/workflow controls, time tracking, project assignment and status transitions for operational automation.\n\n**OAuth**\n\nProvider: zoho\n\nScopes: module-level ZohoBooks.* scopes for granular consent (module CRUD and ALL scopes). Examples: ZohoBooks.invoices.CREATE, ZohoBooks.bills.READ, ZohoBooks.settings.ALL, ZohoBooks.custommodules.ALL; the toolkit requires consenting to the relevant ZohoBooks.* scopes for the organization.\n\n**Secrets**\n\nSecret types: server URL overrides and OAuth credentials. Examples: ZOHO_SERVER_URL (e.g. https://books.zoho.com or a staging endpoint), OAuth access/refresh tokens, client_id and client_secret — store in a secrets manager and restrict access." +} \ No newline at end of file From 4a8d9bdc8f09b5a63474c2601315433fb79211d2 Mon Sep 17 00:00:00 2001 From: jottakka Date: Wed, 18 Feb 2026 13:20:06 -0300 Subject: [PATCH 14/22] adding as cron job --- .github/workflows/generate-toolkit-docs.yml | 27 ++++++++++++++++++- .../workflows/generate-toolkit-docs.test.ts | 3 +++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index 313e15d8d..69be6d75a 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -10,6 +10,10 @@ on: repository_dispatch: types: [porter_deploy_succeeded] workflow_dispatch: + # GitHub cron is UTC. 09:00/10:00 UTC spans 2 AM America/Los_Angeles + # across DST changes; a gate step below ensures only true 2 AM runs proceed. + schedule: + - cron: "0 9,10 * * *" permissions: contents: write @@ -20,28 +24,46 @@ jobs: runs-on: ubuntu-latest steps: + - name: Gate schedule to 2 AM San Francisco + id: schedule-gate + if: github.event_name == 'schedule' + run: | + SF_HOUR="$(TZ=America/Los_Angeles date +%H)" + if [ "$SF_HOUR" = "02" ]; then + echo "should_run=true" >> "$GITHUB_OUTPUT" + else + echo "should_run=false" >> "$GITHUB_OUTPUT" + echo "Skipping run outside 2 AM America/Los_Angeles (current hour: $SF_HOUR)." + fi + - name: Checkout repository + if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install pnpm + if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' uses: pnpm/action-setup@v4 - name: Setup Node.js + if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' uses: actions/setup-node@v4 with: node-version: "22" cache: pnpm - name: Install dependencies + if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' run: pnpm install --frozen-lockfile - name: Build toolkit docs generator + if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' run: pnpm build working-directory: toolkit-docs-generator - name: Generate toolkit docs + if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' run: | pnpm dlx tsx src/cli/index.ts generate \ --all \ @@ -63,9 +85,11 @@ jobs: OPENAI_MODEL: ${{ secrets.OPENAI_MODEL || 'gpt-4o-mini' }} - name: Sync toolkit sidebar navigation + if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' run: pnpm dlx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --remove-empty-sections=false --verbose - name: Check for changes + if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' id: check-changes run: | if [ -n "$(git status --porcelain)" ]; then @@ -75,7 +99,7 @@ jobs: fi - name: Create pull request - if: steps.check-changes.outputs.has_changes == 'true' + if: (github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true') && steps.check-changes.outputs.has_changes == 'true' uses: peter-evans/create-pull-request@v7 env: HUSKY: 0 @@ -90,5 +114,6 @@ jobs: - Deploy env: ${{ github.event.client_payload.env || 'unknown' }} - Deploy SHA: ${{ github.event.client_payload.deploy_sha || 'unknown' }} - Run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + team-reviewers: engineering branch: automation/toolkit-docs-${{ github.run_id }} delete-branch: true diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index 61a7b91dc..d702f8893 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -15,6 +15,8 @@ test("porter workflow includes required triggers", () => { expect(workflowContents).toContain("repository_dispatch"); expect(workflowContents).toContain("porter_deploy_succeeded"); expect(workflowContents).toContain("workflow_dispatch"); + expect(workflowContents).toContain("schedule:"); + expect(workflowContents).toContain('cron: "0 9,10 * * *"'); }); test("porter workflow generates docs and opens a PR", () => { @@ -32,5 +34,6 @@ test("porter workflow generates docs and opens a PR", () => { expect(workflowContents).toContain("peter-evans/create-pull-request"); expect(workflowContents).toContain("HUSKY: 0"); expect(workflowContents).toContain("[AUTO] Adding MCP Servers docs update"); + expect(workflowContents).toContain("team-reviewers: engineering"); expect(workflowContents).toContain("pull-requests: write"); }); From 97306d72304c72b30ce75f44072a8f37618ccb57 Mon Sep 17 00:00:00 2001 From: jottakka Date: Wed, 18 Feb 2026 13:26:43 -0300 Subject: [PATCH 15/22] ignoring generate jsons from linting checks --- biome.jsonc | 1 + 1 file changed, 1 insertion(+) diff --git a/biome.jsonc b/biome.jsonc index 7ba3126d8..46f808c2a 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -132,6 +132,7 @@ "!build", "!node_modules", "!public", + "!toolkit-docs-generator/data/toolkits", "!scripts", "!agents", "!.vscode", From bedf07a9bbebc8f1c1a41055b59856f12b973b17 Mon Sep 17 00:00:00 2001 From: jottakka Date: Wed, 18 Feb 2026 14:26:12 -0300 Subject: [PATCH 16/22] updating checks --- .github/workflows/generate-toolkit-docs.yml | 1 - .husky/pre-commit | 53 +++++++++++++------ biome.jsonc | 1 + package.json | 6 +-- .../workflows/generate-toolkit-docs.test.ts | 1 - 5 files changed, 40 insertions(+), 22 deletions(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index 69be6d75a..c65131be9 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -114,6 +114,5 @@ jobs: - Deploy env: ${{ github.event.client_payload.env || 'unknown' }} - Deploy SHA: ${{ github.event.client_payload.deploy_sha || 'unknown' }} - Run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} - team-reviewers: engineering branch: automation/toolkit-docs-${{ github.run_id }} delete-branch: true diff --git a/.husky/pre-commit b/.husky/pre-commit index 76674e5f5..4ffa0437b 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -132,7 +132,7 @@ if git diff --cached --name-only | grep -q "next.config.ts"; then fi # --- Lint Staged (formatting) --- -pnpm dlx lint-staged +pnpm exec lint-staged # --- Stash + Format --- # Skip this block during merge/rebase: git stash --keep-index destroys @@ -150,17 +150,43 @@ STAGED_HASH=$(git diff --cached | sha256sum | cut -d' ' -f1) STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACMR) PARTIALLY_STAGED=$(git diff --name-only) +# If a file is both staged and unstaged, stash/pop can produce conflicts. +# In that case rely on lint-staged only, which already ran above. +if [ -n "$PARTIALLY_STAGED" ] && [ -n "$STAGED_FILES" ]; then + for file in $PARTIALLY_STAGED; do + if [ -f "$file" ] && echo "$STAGED_FILES" | grep -qxF "$file"; then + echo "⏭️ Skipping stash+format (partially staged files detected)" + exit 0 + fi + done +fi + # Stash unstaged changes to preserve working directory # --keep-index keeps staged changes in working tree -git stash push --quiet --keep-index --message "pre-commit-stash" || true -STASHED=$? +STASH_CREATED=false +STASH_MESSAGE="pre-commit-stash-$$-$(date +%s)" +if ! git diff --quiet; then + git stash push --quiet --keep-index --message "$STASH_MESSAGE" + TOP_STASH_SUBJECT="$(git stash list -1 --format='%s' || true)" + case "$TOP_STASH_SUBJECT" in + *"$STASH_MESSAGE") + STASH_CREATED=true + ;; + esac +fi # Run formatter on the staged files -pnpm dlx ultracite fix -FORMAT_EXIT_CODE=$? +if [ -n "$STAGED_FILES" ]; then + for file in $STAGED_FILES; do + if [ -f "$file" ]; then + pnpm exec ultracite fix "$file" + fi + done +fi +FORMAT_EXIT_CODE=0 # Restore working directory state -if [ $STASHED -eq 0 ]; then +if [ "$STASH_CREATED" = true ]; then # Re-stage the formatted files if [ -n "$STAGED_FILES" ]; then echo "$STAGED_FILES" | while IFS= read -r file; do @@ -171,17 +197,10 @@ if [ $STASHED -eq 0 ]; then fi # Restore unstaged changes - git stash pop --quiet || true - - # Restore partial staging if files were partially staged - if [ -n "$PARTIALLY_STAGED" ]; then - for file in $PARTIALLY_STAGED; do - if [ -f "$file" ] && echo "$STAGED_FILES" | grep -q "^$file$"; then - # File was partially staged - need to unstage the unstaged parts - git restore --staged "$file" 2>/dev/null || true - git add -p "$file" < /dev/null 2>/dev/null || git add "$file" - fi - done + if ! git stash pop --quiet; then + echo "❌ Failed to restore stashed changes during pre-commit." + echo " Resolve conflicts, then re-stage files and commit again." + exit 1 fi else # No stash was created, just re-add the formatted files diff --git a/biome.jsonc b/biome.jsonc index 46f808c2a..2078036e3 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -133,6 +133,7 @@ "!node_modules", "!public", "!toolkit-docs-generator/data/toolkits", + "!toolkit-docs-generator/data/toolkits", "!scripts", "!agents", "!.vscode", diff --git a/package.json b/package.json index b6492d9de..0a0ac70d0 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "dev": "next dev --webpack", "build": "pnpm run toolkit-markdown && next build --webpack && pnpm run custompagefind", "start": "next start", - "lint": "pnpm dlx ultracite check", - "format": "pnpm dlx ultracite fix", + "lint": "pnpm exec ultracite check", + "format": "pnpm exec ultracite fix", "prepare": "husky install", "toolkit-markdown": "pnpm dlx tsx toolkit-docs-generator/scripts/generate-toolkit-markdown.ts", "postbuild": "if [ \"$SKIP_POSTBUILD\" != \"true\" ]; then pnpm run generate:markdown && pnpm run custompagefind; fi", @@ -112,7 +112,7 @@ }, "lint-staged": { "!(examples)/**/*.{js,jsx,ts,tsx,json,jsonc,css,scss,md,mdx}": [ - "pnpm dlx ultracite fix " + "pnpm exec ultracite fix" ] }, "packageManager": "pnpm@10.11.0", diff --git a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts index d702f8893..2d4ba1f7c 100644 --- a/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts +++ b/toolkit-docs-generator/tests/workflows/generate-toolkit-docs.test.ts @@ -34,6 +34,5 @@ test("porter workflow generates docs and opens a PR", () => { expect(workflowContents).toContain("peter-evans/create-pull-request"); expect(workflowContents).toContain("HUSKY: 0"); expect(workflowContents).toContain("[AUTO] Adding MCP Servers docs update"); - expect(workflowContents).toContain("team-reviewers: engineering"); expect(workflowContents).toContain("pull-requests: write"); }); From e5d1a2763f6269e303eeaf75fb4f9c972e13fc79 Mon Sep 17 00:00:00 2001 From: jottakka Date: Wed, 18 Feb 2026 14:44:08 -0300 Subject: [PATCH 17/22] fixing biome errors --- app/_lib/toolkit-static-params.ts | 45 +++++- biome.jsonc | 1 - .../src/diff/previous-output.ts | 133 ++++++++++-------- .../src/sources/design-system-loader.ts | 17 +++ .../src/sources/design-system-metadata.ts | 8 +- .../src/sources/oauth-provider-resolver.ts | 28 ++-- 6 files changed, 150 insertions(+), 82 deletions(-) create mode 100644 toolkit-docs-generator/src/sources/design-system-loader.ts diff --git a/app/_lib/toolkit-static-params.ts b/app/_lib/toolkit-static-params.ts index e4fef5e50..530b721bf 100644 --- a/app/_lib/toolkit-static-params.ts +++ b/app/_lib/toolkit-static-params.ts @@ -1,6 +1,7 @@ import { readdir, readFile } from "node:fs/promises"; +import { createRequire } from "node:module"; import { join } from "node:path"; -import { TOOLKITS as DESIGN_SYSTEM_TOOLKITS } from "@arcadeai/design-system"; +import { pathToFileURL } from "node:url"; import { readToolkitData, readToolkitIndex } from "./toolkit-data"; import { getToolkitSlug, normalizeToolkitId } from "./toolkit-slug"; @@ -31,6 +32,45 @@ export type ToolkitRouteEntry = { category: IntegrationCategory; }; +const require = createRequire(import.meta.url); +let cachedDesignSystemToolkits: ToolkitCatalogEntry[] | null = null; + +const isToolkitCatalogEntry = ( + value: unknown +): value is ToolkitCatalogEntry => { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + return false; + } + const entry = value as Record; + return typeof entry.id === "string"; +}; + +const loadDesignSystemToolkits = async (): Promise => { + if (cachedDesignSystemToolkits) { + return cachedDesignSystemToolkits; + } + + try { + const designSystemEntry = require.resolve("@arcadeai/design-system"); + const designSystem = (await import( + pathToFileURL(designSystemEntry).href + )) as { + TOOLKITS?: unknown; + }; + const toolkits = Array.isArray(designSystem.TOOLKITS) + ? designSystem.TOOLKITS + : []; + + cachedDesignSystemToolkits = toolkits.flatMap((toolkit) => + isToolkitCatalogEntry(toolkit) ? [toolkit] : [] + ); + } catch { + cachedDesignSystemToolkits = []; + } + + return cachedDesignSystemToolkits; +}; + function normalizeCategory( value: string | null | undefined ): IntegrationCategory { @@ -150,7 +190,8 @@ export async function listToolkitRoutes(options?: { return await listToolkitRoutesFromDataDir(options); } - const toolkitsCatalog = options?.toolkitsCatalog ?? DESIGN_SYSTEM_TOOLKITS; + const toolkitsCatalog = + options?.toolkitsCatalog ?? (await loadDesignSystemToolkits()); const catalogByNormalizedId = new Map( toolkitsCatalog.map((toolkit) => [normalizeToolkitId(toolkit.id), toolkit]) ); diff --git a/biome.jsonc b/biome.jsonc index 2078036e3..46f808c2a 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -133,7 +133,6 @@ "!node_modules", "!public", "!toolkit-docs-generator/data/toolkits", - "!toolkit-docs-generator/data/toolkits", "!scripts", "!agents", "!.vscode", diff --git a/toolkit-docs-generator/src/diff/previous-output.ts b/toolkit-docs-generator/src/diff/previous-output.ts index f07ec7305..5f030c400 100644 --- a/toolkit-docs-generator/src/diff/previous-output.ts +++ b/toolkit-docs-generator/src/diff/previous-output.ts @@ -200,6 +200,77 @@ const getVersionFromTool = ( return version && version.length > 0 ? version : undefined; }; +const getNonEmptyString = (value: unknown): string | undefined => + typeof value === "string" && value.length > 0 ? value : undefined; + +const getFallbackReason = (error: { + issues: Array<{ path: Array; message: string }>; + message: string; +}): string => { + const firstIssue = error.issues[0]; + return firstIssue + ? `${firstIssue.path.join(".")}: ${firstIssue.message}` + : error.message; +}; + +const normalizeFallbackTools = ( + record: Record, + toolkitId: string, + declaredVersion: string +): ToolDefinition[] => { + const rawTools = Array.isArray(record.tools) ? record.tools : []; + return rawTools.flatMap((rawTool, index) => { + const normalized = normalizeTool( + rawTool, + toolkitId, + declaredVersion, + index + 1 + ); + return normalized ? [normalized] : []; + }); +}; + +const buildFallbackToolkit = ( + record: Record, + fallbackId: string +): MergedToolkit => { + const toolkitId = getNonEmptyString(record.id) ?? fallbackId; + const label = getNonEmptyString(record.label) ?? toolkitId; + const description = toStringOrNull(record.description); + const declaredVersion = getNonEmptyString(record.version) ?? "0.0.0"; + + const tools = normalizeFallbackTools(record, toolkitId, declaredVersion); + const version = getVersionFromTool(tools[0]) ?? declaredVersion; + + const metadataResult = MergedToolkitMetadataSchema.safeParse(record.metadata); + const authResult = MergedToolkitAuthSchema.safeParse(record.auth); + const summary = + typeof record.summary === "string" ? record.summary : undefined; + const generatedAt = + typeof record.generatedAt === "string" ? record.generatedAt : undefined; + + return { + id: toolkitId, + label, + version, + description, + ...(summary ? { summary } : {}), + metadata: metadataResult.success + ? metadataResult.data + : DEFAULT_PREVIOUS_TOOLKIT_METADATA, + auth: authResult.success ? authResult.data : null, + tools: tools.map((tool) => ({ + ...tool, + secretsInfo: [], + documentationChunks: [], + })), + documentationChunks: [], + customImports: [], + subPages: [], + ...(generatedAt ? { generatedAt } : {}), + }; +}; + export type PreviousToolkitParseResult = { toolkit: MergedToolkit | null; usedFallback: boolean; @@ -224,67 +295,9 @@ export const parsePreviousToolkitForDiff = ( }; } - const toolkitId = - typeof record.id === "string" && record.id.length > 0 - ? record.id - : fallbackId; - const label = - typeof record.label === "string" && record.label.length > 0 - ? record.label - : toolkitId; - const description = toStringOrNull(record.description); - - const firstIssue = strictResult.error.issues[0]; - const fallbackReason = firstIssue - ? `${firstIssue.path.join(".")}: ${firstIssue.message}` - : strictResult.error.message; - - const declaredVersion = - typeof record.version === "string" && record.version.length > 0 - ? record.version - : "0.0.0"; - - const rawTools = Array.isArray(record.tools) ? record.tools : []; - const tools = rawTools.flatMap((rawTool, index) => { - const normalized = normalizeTool( - rawTool, - toolkitId, - declaredVersion, - index + 1 - ); - return normalized ? [normalized] : []; - }); - - const version = getVersionFromTool(tools[0]) ?? declaredVersion; - - const metadataResult = MergedToolkitMetadataSchema.safeParse(record.metadata); - const authResult = MergedToolkitAuthSchema.safeParse(record.auth); - const summary = - typeof record.summary === "string" ? record.summary : undefined; - const generatedAt = - typeof record.generatedAt === "string" ? record.generatedAt : undefined; - + const fallbackReason = getFallbackReason(strictResult.error); return { - toolkit: { - id: toolkitId, - label, - version, - description, - ...(summary ? { summary } : {}), - metadata: metadataResult.success - ? metadataResult.data - : DEFAULT_PREVIOUS_TOOLKIT_METADATA, - auth: authResult.success ? authResult.data : null, - tools: tools.map((tool) => ({ - ...tool, - secretsInfo: [], - documentationChunks: [], - })), - documentationChunks: [], - customImports: [], - subPages: [], - ...(generatedAt ? { generatedAt } : {}), - }, + toolkit: buildFallbackToolkit(record, fallbackId), usedFallback: true, reason: fallbackReason, }; diff --git a/toolkit-docs-generator/src/sources/design-system-loader.ts b/toolkit-docs-generator/src/sources/design-system-loader.ts new file mode 100644 index 000000000..deb98fa23 --- /dev/null +++ b/toolkit-docs-generator/src/sources/design-system-loader.ts @@ -0,0 +1,17 @@ +import { createRequire } from "node:module"; +import { pathToFileURL } from "node:url"; + +const require = createRequire(import.meta.url); + +export type DesignSystemModule = Record; + +export async function loadDesignSystemModule(): Promise { + try { + const designSystemEntry = require.resolve("@arcadeai/design-system"); + return (await import( + pathToFileURL(designSystemEntry).href + )) as DesignSystemModule; + } catch { + return null; + } +} diff --git a/toolkit-docs-generator/src/sources/design-system-metadata.ts b/toolkit-docs-generator/src/sources/design-system-metadata.ts index 03b50582b..160a73f0e 100644 --- a/toolkit-docs-generator/src/sources/design-system-metadata.ts +++ b/toolkit-docs-generator/src/sources/design-system-metadata.ts @@ -9,6 +9,7 @@ import { z } from "zod"; import type { ToolkitMetadata } from "../types/index.js"; import { ToolkitMetadataSchema } from "../types/index.js"; +import { loadDesignSystemModule } from "./design-system-loader.js"; import type { IMetadataSource } from "./internal.js"; // ============================================================================ @@ -131,10 +132,9 @@ export function createDesignSystemMetadataSourceFromToolkits( } export async function createDesignSystemMetadataSource(): Promise { - // Use a dynamic import so the generator can still run in contexts where - // @arcadeai/design-system isn't installed. - const designSystem = await import("@arcadeai/design-system"); - const maybeToolkits = (designSystem as { TOOLKITS?: unknown }).TOOLKITS; + const designSystem = await loadDesignSystemModule(); + const maybeToolkits = (designSystem as { TOOLKITS?: unknown } | null) + ?.TOOLKITS; const toolkits = Array.isArray(maybeToolkits) ? maybeToolkits : []; const parsed: ToolkitMetadata[] = []; diff --git a/toolkit-docs-generator/src/sources/oauth-provider-resolver.ts b/toolkit-docs-generator/src/sources/oauth-provider-resolver.ts index 10f82ea95..679862985 100644 --- a/toolkit-docs-generator/src/sources/oauth-provider-resolver.ts +++ b/toolkit-docs-generator/src/sources/oauth-provider-resolver.ts @@ -1,3 +1,5 @@ +import { loadDesignSystemModule } from "./design-system-loader.js"; + /** * OAuth Provider ID Resolver * @@ -97,21 +99,17 @@ export function buildProviderIdResolver( * `@arcadeai/design-system` is not installed (returns null in that case). */ export async function createDesignSystemProviderIdResolver(): Promise { - try { - const designSystem = await import("@arcadeai/design-system"); - const catalogue = ( - designSystem as { - OAUTH_PROVIDER_CATALOGUE?: Record; - } - ).OAUTH_PROVIDER_CATALOGUE; - - if (!catalogue || typeof catalogue !== "object") { - return null; - } - - const knownIds = new Set(Object.keys(catalogue)); - return buildProviderIdResolver(knownIds); - } catch { + const designSystem = await loadDesignSystemModule(); + const catalogue = ( + designSystem as { + OAUTH_PROVIDER_CATALOGUE?: Record; + } | null + )?.OAUTH_PROVIDER_CATALOGUE; + + if (!catalogue || typeof catalogue !== "object") { return null; } + + const knownIds = new Set(Object.keys(catalogue)); + return buildProviderIdResolver(knownIds); } From e3f31c5526b15e6609e022790d53dfb296f47e0e Mon Sep 17 00:00:00 2001 From: jottakka Date: Wed, 18 Feb 2026 16:13:18 -0300 Subject: [PATCH 18/22] minor update in test --- tests/external-url-check.test.ts | 91 ++++++++++++++++++++++---------- 1 file changed, 64 insertions(+), 27 deletions(-) diff --git a/tests/external-url-check.test.ts b/tests/external-url-check.test.ts index 44c2e4ec6..635ed75e3 100644 --- a/tests/external-url-check.test.ts +++ b/tests/external-url-check.test.ts @@ -5,6 +5,19 @@ import { expect, test } from "vitest"; const TIMEOUT = 120_000; const CONCURRENCY = 10; const REQUEST_TIMEOUT = 8000; +const RETRY_ATTEMPTS = 2; +const RETRY_DELAY_MS = 400; +const TRANSIENT_ERROR_PATTERNS: readonly RegExp[] = [ + /aborted/i, + /timeout/i, + /timed out/i, + /network/i, + /fetch failed/i, + /socket hang up/i, + /econnreset/i, + /eai_again/i, + /enotfound/i, +]; const SKIP_PATTERNS: RegExp[] = [ // Placeholder / example domains @@ -67,44 +80,68 @@ function extractExternalUrls(content: string): string[] { return urls; } -async function checkUrl( - url: string -): Promise<{ ok: boolean; status?: number; error?: string }> { +function sleep(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + +function isTransientError(message: string | undefined): boolean { + if (!message) { + return false; + } + + return TRANSIENT_ERROR_PATTERNS.some((pattern) => pattern.test(message)); +} + +async function fetchWithTimeout( + url: string, + method: "HEAD" | "GET" +): Promise { const controller = new AbortController(); const timer = setTimeout(() => controller.abort(), REQUEST_TIMEOUT); - try { - let res = await fetch(url, { - method: "HEAD", + return await fetch(url, { + method, signal: controller.signal, redirect: "follow", }); + } finally { + clearTimeout(timer); + } +} - if (res.status === 405 || res.status === 403) { - const controller2 = new AbortController(); - const timer2 = setTimeout(() => controller2.abort(), REQUEST_TIMEOUT); - try { - res = await fetch(url, { - method: "GET", - signal: controller2.signal, - redirect: "follow", - }); - } finally { - clearTimeout(timer2); +async function checkUrl( + url: string +): Promise<{ ok: boolean; status?: number; error?: string }> { + for (let attempt = 0; attempt <= RETRY_ATTEMPTS; attempt += 1) { + try { + let res = await fetchWithTimeout(url, "HEAD"); + + if (res.status === 405 || res.status === 403) { + res = await fetchWithTimeout(url, "GET"); } - } - if (res.status === 429 || (res.status >= 200 && res.status < 400)) { - return { ok: true }; - } + if (res.status === 429 || (res.status >= 200 && res.status < 400)) { + return { ok: true }; + } - return { ok: false, status: res.status }; - } catch (err) { - const message = err instanceof Error ? err.message : String(err); - return { ok: false, error: message }; - } finally { - clearTimeout(timer); + // Retry transient upstream failures. + if (res.status >= 500 && attempt < RETRY_ATTEMPTS) { + await sleep(RETRY_DELAY_MS * (attempt + 1)); + continue; + } + + return { ok: false, status: res.status }; + } catch (err) { + const message = err instanceof Error ? err.message : String(err); + if (isTransientError(message) && attempt < RETRY_ATTEMPTS) { + await sleep(RETRY_DELAY_MS * (attempt + 1)); + continue; + } + return { ok: false, error: message }; + } } + + return { ok: false, error: "Unknown link check failure" }; } function pLimit(concurrency: number) { From 3962ed23dea37d9e90c1e735d0324c7ce269c7e1 Mon Sep 17 00:00:00 2001 From: jottakka Date: Wed, 18 Feb 2026 16:59:46 -0300 Subject: [PATCH 19/22] Revert integrations folder changes Remove databases _meta.tsx and restore integrations and development _meta.tsx files to match main. Co-authored-by: Cursor --- app/en/resources/integrations/_meta.tsx | 3 --- app/en/resources/integrations/databases/_meta.tsx | 10 ---------- app/en/resources/integrations/development/_meta.tsx | 4 ++++ 3 files changed, 4 insertions(+), 13 deletions(-) delete mode 100644 app/en/resources/integrations/databases/_meta.tsx diff --git a/app/en/resources/integrations/_meta.tsx b/app/en/resources/integrations/_meta.tsx index 1cf921397..32201d550 100644 --- a/app/en/resources/integrations/_meta.tsx +++ b/app/en/resources/integrations/_meta.tsx @@ -36,9 +36,6 @@ const meta: MetaRecord = { sales: { title: "Sales", }, - databases: { - title: "Databases", - }, "customer-support": { title: "Customer Support", }, diff --git a/app/en/resources/integrations/databases/_meta.tsx b/app/en/resources/integrations/databases/_meta.tsx deleted file mode 100644 index d0b9a9cc9..000000000 --- a/app/en/resources/integrations/databases/_meta.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import type { MetaRecord } from "nextra"; - -const meta: MetaRecord = { - "weaviate-api": { - title: "Weaviate API", - href: "/en/resources/integrations/databases/weaviate-api", - }, -}; - -export default meta; diff --git a/app/en/resources/integrations/development/_meta.tsx b/app/en/resources/integrations/development/_meta.tsx index 70a1a6050..8722736fb 100644 --- a/app/en/resources/integrations/development/_meta.tsx +++ b/app/en/resources/integrations/development/_meta.tsx @@ -101,6 +101,10 @@ const meta: MetaRecord = { title: "Vercel API", href: "/en/resources/integrations/development/vercel-api", }, + "weaviate-api": { + title: "Weaviate API", + href: "/en/resources/integrations/development/weaviate-api", + }, }; export default meta; From ae28f3a46daffda52f0e112911d9b2093c22f0fd Mon Sep 17 00:00:00 2001 From: jottakka Date: Wed, 18 Feb 2026 17:03:33 -0300 Subject: [PATCH 20/22] Revert toolkit-docs-generator/data changes Restore all toolkit JSON data files to match main. Co-authored-by: Cursor --- .../data/toolkits/googledocs.json | 205 +- .../data/toolkits/googlesheets.json | 68 +- .../data/toolkits/googleslides.json | 102 +- .../data/toolkits/index.json | 378 +- .../data/toolkits/linear.json | 603 +- .../data/toolkits/sharepoint.json | 1347 +- .../data/toolkits/slack.json | 229 +- .../data/toolkits/stripe.json | 101 +- toolkit-docs-generator/data/toolkits/x.json | 114 +- .../data/toolkits/youtube.json | 20 +- .../data/toolkits/zohobooksapi.json | 44411 +--------------- 11 files changed, 798 insertions(+), 46780 deletions(-) diff --git a/toolkit-docs-generator/data/toolkits/googledocs.json b/toolkit-docs-generator/data/toolkits/googledocs.json index b1e0a7e5e..0b67d8d49 100644 --- a/toolkit-docs-generator/data/toolkits/googledocs.json +++ b/toolkit-docs-generator/data/toolkits/googledocs.json @@ -1,7 +1,7 @@ { "id": "GoogleDocs", "label": "Google Docs", - "version": "5.0.3", + "version": "5.0.1", "description": "Arcade.dev LLM tools for Google Docs", "metadata": { "category": "productivity", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/google-docs", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/google-docs", "isComingSoon": false, "isHidden": false }, @@ -26,7 +26,7 @@ { "name": "CommentOnDocument", "qualifiedName": "GoogleDocs.CommentOnDocument", - "fullyQualifiedName": "GoogleDocs.CommentOnDocument@5.0.3", + "fullyQualifiedName": "GoogleDocs.CommentOnDocument@5.0.1", "description": "Comment on a specific document by its ID.", "parameters": [ { @@ -49,9 +49,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -64,12 +62,12 @@ "toolName": "GoogleDocs.CommentOnDocument", "parameters": { "document_id": { - "value": "1a2B3cD4eF5GhIjK6lMnOpQrStUvWxYz", + "value": "abc123xyz", "type": "string", "required": true }, "comment_text": { - "value": "Please review the conclusion section for accuracy and update the citations where needed.", + "value": "Great work on this section!", "type": "string", "required": true } @@ -82,7 +80,7 @@ { "name": "CreateBlankDocument", "qualifiedName": "GoogleDocs.CreateBlankDocument", - "fullyQualifiedName": "GoogleDocs.CreateBlankDocument@5.0.3", + "fullyQualifiedName": "GoogleDocs.CreateBlankDocument@5.0.1", "description": "Create a blank Google Docs document with the specified title.", "parameters": [ { @@ -97,9 +95,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -112,7 +108,7 @@ "toolName": "GoogleDocs.CreateBlankDocument", "parameters": { "title": { - "value": "Project Plan - Q2 2026", + "value": "Meeting Notes - September 2023", "type": "string", "required": true } @@ -125,7 +121,7 @@ { "name": "CreateDocumentFromText", "qualifiedName": "GoogleDocs.CreateDocumentFromText", - "fullyQualifiedName": "GoogleDocs.CreateDocumentFromText@5.0.3", + "fullyQualifiedName": "GoogleDocs.CreateDocumentFromText@5.0.1", "description": "Create a Google Docs document with the specified title and text content.", "parameters": [ { @@ -148,9 +144,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -163,12 +157,12 @@ "toolName": "GoogleDocs.CreateDocumentFromText", "parameters": { "title": { - "value": "Project Alpha — Kickoff Notes", + "value": "Meeting Notes - October 2023", "type": "string", "required": true }, "text_content": { - "value": "Project Alpha — Kickoff Meeting\nDate: 2026-02-18\n\nOverview:\nThis document captures the kickoff meeting for Project Alpha. The project aims to deliver the new mobile onboarding flow and backend integration by the end of Q3.\n\nGoals:\n- Implement redesigned onboarding screens\n- Integrate authentication API and session management\n- Improve first-time user activation metrics by 20%\n\nKey Decisions:\n1. Use OAuth2 for authentication with JWT sessions.\n2. Prioritize iOS implementation in sprint 1, Android in sprint 2.\n3. Start with a lightweight feature-flag system for gradual rollout.\n\nAction Items:\n- Alice: Draft technical design for OAuth2 integration (due 2026-02-25)\n- Bob: Create initial iOS UI prototypes (due 2026-03-01)\n- Carol: Define analytics events and tracking plan (due 2026-02-28)\n\nNext Steps:\nSchedule the technical design review and set up the project repo with CI templates.\n\nNotes:\nAttach UI mockups and API spec in the next update.", + "value": "These are the notes from the meeting held on October 10, 2023. Discussed project timelines, deliverables, and assigned tasks.", "type": "string", "required": true } @@ -181,8 +175,8 @@ { "name": "EditDocument", "qualifiedName": "GoogleDocs.EditDocument", - "fullyQualifiedName": "GoogleDocs.EditDocument@5.0.3", - "description": "Edit a Google Docs document with the specified edit request.\n\nThis tool edits the content within the document body only. It cannot edit document metadata\nsuch as the title, permissions, sharing settings, or other document properties.\n\nThis tool does not have context about previous edits because it is stateless. If your edit\nrequest depends on knowledge about previous edits, then you should provide that context in\nthe edit requests.", + "fullyQualifiedName": "GoogleDocs.EditDocument@5.0.1", + "description": "Edit a Google Docs document with the specified edit request.\n\nThis tool does not have context about previous edits because it is stateless. If your edit\nrequest depends on knowledge about previous edits, then you should provide that context in\nthe edit requests.", "parameters": [ { "name": "document_id", @@ -206,25 +200,16 @@ "type": "string", "required": false, "description": "The effort to put into reasoning about the edit(s). Defaults to medium", - "enum": [ - "minimal", - "low", - "medium", - "high" - ], + "enum": ["minimal", "low", "medium", "high"], "inferrable": true } ], "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, - "secrets": [ - "OPENAI_API_KEY" - ], + "secrets": ["OPENAI_API_KEY"], "secretsInfo": [ { "name": "OPENAI_API_KEY", @@ -240,17 +225,15 @@ "toolName": "GoogleDocs.EditDocument", "parameters": { "document_id": { - "value": "1a2B3cD4e5F6GhIjKlMnOpQrStUvWxYz", + "value": "1A2B3C4D5E6F7G8H9I0J", "type": "string", "required": true }, "edit_requests": { "value": [ - "Add a two-sentence executive summary at the very beginning of the document that summarizes the main findings and highlights the top three recommendations; keep the tone neutral and professional.", - "Replace every occurrence of 'XYZ Corp' with 'ACME Corp' and apply bold formatting to each replacement.", - "Locate the paragraph that starts with 'Next steps:' and convert the following sentences into a bulleted list of action items, each on its own bullet, preserving the original order.", - "Insert a 3x3 table immediately after the 'Project Timeline' heading with columns 'Milestone', 'Owner', 'Due Date' and populate it with these rows: 'Requirements gathered, Alice, 2026-03-15'; 'Prototype complete, Bob, 2026-04-01'; 'Release candidate, Carol, 2026-05-10'.", - "Standardize all dates in the document to ISO format YYYY-MM-DD (e.g., convert 03/15/2026 to 2026-03-15)." + "Change the title of the document to 'Quarterly Financial Report'", + "Add a new section discussing the effects of the market downturn", + "Correct the spelling of 'recieve' to 'receive' throughout the document" ], "type": "array", "required": true @@ -269,7 +252,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl@5.0.3", + "fullyQualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl@5.0.1", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -295,7 +278,7 @@ { "name": "GetDocumentAsDocmd", "qualifiedName": "GoogleDocs.GetDocumentAsDocmd", - "fullyQualifiedName": "GoogleDocs.GetDocumentAsDocmd@5.0.3", + "fullyQualifiedName": "GoogleDocs.GetDocumentAsDocmd@5.0.1", "description": "Get the latest version of the specified Google Docs document as DocMD.\nThe DocMD output will include tags that can be used to annotate the document with location\ninformation, the type of block, block IDs, and other metadata. If the document has tabs,\nall tabs are included in sequential order unless a specific tab_id is provided.", "parameters": [ { @@ -318,9 +301,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -333,12 +314,12 @@ "toolName": "GoogleDocs.GetDocumentAsDocmd", "parameters": { "document_id": { - "value": "1aB3cD4EfGhIjKlmNOPqRstUVwxYZ0123456789", + "value": "1A2B3C4D5E6F", "type": "string", "required": true }, "tab_id": { - "value": "tab_2", + "value": "tab1", "type": "string", "required": false } @@ -351,7 +332,7 @@ { "name": "GetDocumentById", "qualifiedName": "GoogleDocs.GetDocumentById", - "fullyQualifiedName": "GoogleDocs.GetDocumentById@5.0.3", + "fullyQualifiedName": "GoogleDocs.GetDocumentById@5.0.1", "description": "DEPRECATED DO NOT USE THIS TOOL\nGet the latest version of the specified Google Docs document.", "parameters": [ { @@ -366,9 +347,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -381,7 +360,7 @@ "toolName": "GoogleDocs.GetDocumentById", "parameters": { "document_id": { - "value": "1a2B3cD4eF5gHi6Jk7Lm8No9PqRsTuVwXyZ", + "value": "1A2B3C4D5E6F7G8H9I0J", "type": "string", "required": true } @@ -394,7 +373,7 @@ { "name": "GetDocumentMetadata", "qualifiedName": "GoogleDocs.GetDocumentMetadata", - "fullyQualifiedName": "GoogleDocs.GetDocumentMetadata@5.0.3", + "fullyQualifiedName": "GoogleDocs.GetDocumentMetadata@5.0.1", "description": "Get metadata for a Google Docs document including hierarchical tab structure.\nReturns document title, ID, URL, total character count, and nested tab information\nwith character counts for each tab.", "parameters": [ { @@ -409,9 +388,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -424,7 +401,7 @@ "toolName": "GoogleDocs.GetDocumentMetadata", "parameters": { "document_id": { - "value": "1a2B3cD4eF5GhIj6K7Lm8No9PqRstUvWxYzABcdEF", + "value": "1A2B3C4D5E6F7G8H9I0J", "type": "string", "required": true } @@ -437,7 +414,7 @@ { "name": "InsertTextAtEndOfDocument", "qualifiedName": "GoogleDocs.InsertTextAtEndOfDocument", - "fullyQualifiedName": "GoogleDocs.InsertTextAtEndOfDocument@5.0.3", + "fullyQualifiedName": "GoogleDocs.InsertTextAtEndOfDocument@5.0.1", "description": "Updates an existing Google Docs document using the batchUpdate API endpoint.", "parameters": [ { @@ -460,9 +437,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -475,12 +450,12 @@ "toolName": "GoogleDocs.InsertTextAtEndOfDocument", "parameters": { "document_id": { - "value": "1abcdEFGHijkLMNOPqrSTuvWXyz1234567890", + "value": "1A2B3C4D5E6F7G8H9I0J", "type": "string", "required": true }, "text_content": { - "value": "Added via API: Meeting notes:\n- Agenda item 1: Project kickoff\n- Agenda item 2: Timeline review\n- Action item: Assign follow-up owners\n\nNotes:\nPlease review and comment by EOD Friday.\n\nRegards,\nAPI Bot", + "value": "This text was added at the end of the document.", "type": "string", "required": true } @@ -493,7 +468,7 @@ { "name": "ListDocumentComments", "qualifiedName": "GoogleDocs.ListDocumentComments", - "fullyQualifiedName": "GoogleDocs.ListDocumentComments@5.0.3", + "fullyQualifiedName": "GoogleDocs.ListDocumentComments@5.0.1", "description": "List all comments on the specified Google Docs document.", "parameters": [ { @@ -516,9 +491,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -531,7 +504,7 @@ "toolName": "GoogleDocs.ListDocumentComments", "parameters": { "document_id": { - "value": "1aBcD2efGhI_JkLmNoPqRsTuVwXyZ0123456789", + "value": "1a2b3c4d5e6f7g8h9i0j", "type": "string", "required": true }, @@ -549,7 +522,7 @@ { "name": "SearchAndRetrieveDocuments", "qualifiedName": "GoogleDocs.SearchAndRetrieveDocuments", - "fullyQualifiedName": "GoogleDocs.SearchAndRetrieveDocuments@5.0.3", + "fullyQualifiedName": "GoogleDocs.SearchAndRetrieveDocuments@5.0.1", "description": "Searches for documents in the user's Google Drive and returns documents with their main body\ncontent and tab metadata. Excludes documents that are in the trash.\n\nReturns main body content only with metadata about tabs. Use get_document_as_docmd() to retrieve\nfull tab content for specific documents. Use search_documents() for metadata-only searches.", "parameters": [ { @@ -557,12 +530,7 @@ "type": "string", "required": false, "description": "The format of the document to return. Defaults to Markdown.", - "enum": [ - "docmd", - "markdown", - "html", - "google_api_json" - ], + "enum": ["docmd", "markdown", "html", "google_api_json"], "inferrable": true }, { @@ -659,9 +627,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -679,24 +645,17 @@ "required": false }, "document_contains": { - "value": [ - "Q1 roadmap", - "budget", - "customer feedback" - ], + "value": ["project", "meeting", "report"], "type": "array", "required": false }, "document_not_contains": { - "value": [ - "draft", - "internal only" - ], + "value": ["draft", "confidential"], "type": "array", "required": false }, "search_only_in_shared_drive_id": { - "value": "0AExAmPlEShArEdDrIvEId12345", + "value": "abc123456", "type": "string", "required": false }, @@ -711,20 +670,17 @@ "required": false }, "order_by": { - "value": [ - "modifiedTime desc", - "name asc" - ], + "value": ["modifiedTime desc", "name asc"], "type": "array", "required": false }, "limit": { - "value": 25, + "value": 10, "type": "integer", "required": false }, "pagination_token": { - "value": "Cg0a1b2c3d4e5f6g7h8i9", + "value": "xyz987654", "type": "string", "required": false } @@ -737,7 +693,7 @@ { "name": "SearchDocuments", "qualifiedName": "GoogleDocs.SearchDocuments", - "fullyQualifiedName": "GoogleDocs.SearchDocuments@5.0.3", + "fullyQualifiedName": "GoogleDocs.SearchDocuments@5.0.1", "description": "Searches for documents in the user's Google Drive. Excludes documents in trash.\nReturns metadata only. Use get_document_metadata or get_document_as_docmd for content.", "parameters": [ { @@ -834,9 +790,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -849,24 +803,17 @@ "toolName": "GoogleDocs.SearchDocuments", "parameters": { "document_contains": { - "value": [ - "project proposal", - "Q3 roadmap", - "budget" - ], + "value": ["project", "report", "meeting notes"], "type": "array", "required": false }, "document_not_contains": { - "value": [ - "draft", - "confidential" - ], + "value": ["draft", "old", "deprecated"], "type": "array", "required": false }, "search_only_in_shared_drive_id": { - "value": "0A1B2C3D4E5F6G7H8I9J", + "value": "abc123sharedDriveId", "type": "string", "required": false }, @@ -881,20 +828,17 @@ "required": false }, "order_by": { - "value": [ - "modifiedTime desc", - "name asc" - ], + "value": ["createdTime", "name"], "type": "array", "required": false }, "limit": { - "value": 25, + "value": 10, "type": "integer", "required": false }, "pagination_token": { - "value": "Cg0KC2V4YW1wbGVfdG9rZW4", + "value": "nextPageToken", "type": "string", "required": false } @@ -907,7 +851,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleDocs.WhoAmI", - "fullyQualifiedName": "GoogleDocs.WhoAmI@5.0.3", + "fullyQualifiedName": "GoogleDocs.WhoAmI@5.0.1", "description": "Get comprehensive user profile and Google Docs environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Docs access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -935,9 +879,32 @@ } } ], - "documentationChunks": [], - "customImports": [], + "documentationChunks": [ + { + "type": "warning", + "location": "description", + "position": "after", + "content": "\n This Toolkit is not available in Arcade Cloud. You can use these tools with a\n [self-hosted](/guides/deployment-hosting/configure-engine) instance of Arcade.\n" + }, + { + "type": "section", + "location": "custom_section", + "position": "after", + "content": "## Tab Support\n\nGoogle Docs supports hierarchical tabs within documents. The Google Docs tools provide comprehensive support for working with tabs:\n\n- **Tab Metadata**: `GetDocumentMetadata` returns hierarchical tab structures with approximate character and word counts for each tab\n- **Tab Content**: `GetDocumentAsDocMD` and `SearchAndRetrieveDocuments` include all tab content in their output\n- **Tab Filtering**: `GetDocumentAsDocMD` supports filtering to retrieve content from a specific tab using the `tab_id` parameter\n\nTabs are represented with the following structure:\n- Each tab has a unique `tabId`, `title`, `index`, and `nestingLevel`\n- Tabs can be nested up to 3 levels deep (parent → child → grandchild)\n- Tab metadata includes approximate character and word counts for each tab's content\n\n---", + "header": "## Tab Support" + }, + { + "type": "markdown", + "location": "auth", + "position": "after", + "content": "The Arcade Google Docs MCP Server uses the [Google auth provider](/references/auth-providers/google) to connect to users' Google accounts.\n---", + "header": "## Auth" + } + ], + "customImports": [ + "import ScopePicker from \"@/app/_components/scope-picker\";" + ], "subPages": [], - "generatedAt": "2026-02-18T02:27:42.915Z", - "summary": "Arcade.dev Google Docs toolkit enables programmatic creation, retrieval, commenting, and editing of Google Docs and integrates Drive search and file-picker flows. It exposes document-level operations, structured DocMD exports, comment management, metadata retrieval, and user/profile introspection.\n\n**Capabilities**\n- Create, update, and export document bodies and structured representations; perform stateless edits and append operations.\n- Search, list, and enumerate Drive documents and metadata; generate user-driven file picker URLs for authorization and selection.\n- Manage comments, list annotations, and retrieve document and tab-level metadata and usage details.\n\n**OAuth**\nProvider: google\nScopes: https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile\n\n**Secrets**\nAPI key: OPENAI_API_KEY (used for downstream LLM or external API integrations)." -} \ No newline at end of file + "generatedAt": "2026-01-26T17:32:15.847Z", + "summary": "Arcade.dev offers a toolkit for Google Docs that facilitates seamless interaction with Google Drive and document management. This toolkit enables developers to create, edit, and manage documents through a variety of functions in a secure environment.\n\n**Capabilities**\n- Create, edit, and comment on Google Docs seamlessly.\n- Retrieve document metadata and manage file permissions securely.\n- Generate user-friendly file picker URLs for easy file access.\n- List and manage comments within documents.\n\n**OAuth**\nProvider: Google\nScopes: https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile\n\n**Secrets**\nSecret Type: API Key\nExample: OPENAI_API_KEY." +} diff --git a/toolkit-docs-generator/data/toolkits/googlesheets.json b/toolkit-docs-generator/data/toolkits/googlesheets.json index 4c6e5f0ad..76509a3c2 100644 --- a/toolkit-docs-generator/data/toolkits/googlesheets.json +++ b/toolkit-docs-generator/data/toolkits/googlesheets.json @@ -1,7 +1,7 @@ { "id": "GoogleSheets", "label": "Google Sheets", - "version": "5.1.1", + "version": "5.1.0", "description": "Arcade.dev LLM tools for Google Sheets.", "metadata": { "category": "productivity", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/google-sheets", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/google-sheets", "isComingSoon": false, "isHidden": false }, @@ -26,7 +26,7 @@ { "name": "AddNoteToCell", "qualifiedName": "GoogleSheets.AddNoteToCell", - "fullyQualifiedName": "GoogleSheets.AddNoteToCell@5.1.1", + "fullyQualifiedName": "GoogleSheets.AddNoteToCell@5.1.0", "description": "Add a note to a specific cell in a spreadsheet. A note is a small\npiece of text attached to a cell (shown with a black triangle) that\nappears when you hover over the cell.\n\nsheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned,\nthen always assume the default sheet_position is sufficient.", "parameters": [ { @@ -81,9 +81,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -134,7 +132,7 @@ { "name": "CreateSpreadsheet", "qualifiedName": "GoogleSheets.CreateSpreadsheet", - "fullyQualifiedName": "GoogleSheets.CreateSpreadsheet@5.1.1", + "fullyQualifiedName": "GoogleSheets.CreateSpreadsheet@5.1.0", "description": "Create a new spreadsheet with the provided title and data in its first sheet\n\nReturns the newly created spreadsheet's id and title", "parameters": [ { @@ -157,9 +155,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -190,7 +186,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleSheets.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleSheets.GenerateGoogleFilePickerUrl@5.1.1", + "fullyQualifiedName": "GoogleSheets.GenerateGoogleFilePickerUrl@5.1.0", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -216,7 +212,7 @@ { "name": "GetSpreadsheet", "qualifiedName": "GoogleSheets.GetSpreadsheet", - "fullyQualifiedName": "GoogleSheets.GetSpreadsheet@5.1.1", + "fullyQualifiedName": "GoogleSheets.GetSpreadsheet@5.1.0", "description": "Gets the specified range of cells from a single sheet in the spreadsheet.\n\nsheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned,\nthen always assume the default sheet_position is sufficient.", "parameters": [ { @@ -279,9 +275,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -337,7 +331,7 @@ { "name": "GetSpreadsheetMetadata", "qualifiedName": "GoogleSheets.GetSpreadsheetMetadata", - "fullyQualifiedName": "GoogleSheets.GetSpreadsheetMetadata@5.1.1", + "fullyQualifiedName": "GoogleSheets.GetSpreadsheetMetadata@5.1.0", "description": "Gets the metadata for a spreadsheet including the metadata for the sheets in the spreadsheet.\n\nUse this tool to get the name, position, ID, and URL of all sheets in a spreadsheet as well as\nthe number of rows and columns in each sheet.\n\nDoes not return the content/data of the sheets in the spreadsheet - only the metadata.\nExcludes spreadsheets that are in the trash.", "parameters": [ { @@ -352,9 +346,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -380,7 +372,7 @@ { "name": "SearchSpreadsheets", "qualifiedName": "GoogleSheets.SearchSpreadsheets", - "fullyQualifiedName": "GoogleSheets.SearchSpreadsheets@5.1.1", + "fullyQualifiedName": "GoogleSheets.SearchSpreadsheets@5.1.0", "description": "Searches for spreadsheets in the user's Google Drive based on the titles and content and\nreturns the title, ID, and URL for each matching spreadsheet.\n\nDoes not return the content/data of the sheets in the spreadsheets - only the metadata.\nExcludes spreadsheets that are in the trash.", "parameters": [ { @@ -477,9 +469,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -492,18 +482,12 @@ "toolName": "GoogleSheets.SearchSpreadsheets", "parameters": { "spreadsheet_contains": { - "value": [ - "financial", - "budget" - ], + "value": ["financial", "budget"], "type": "array", "required": false }, "spreadsheet_not_contains": { - "value": [ - "draft", - "old" - ], + "value": ["draft", "old"], "type": "array", "required": false }, @@ -523,9 +507,7 @@ "required": false }, "order_by": { - "value": [ - "lastModifiedTime" - ], + "value": ["lastModifiedTime"], "type": "array", "required": false }, @@ -548,7 +530,7 @@ { "name": "UpdateCells", "qualifiedName": "GoogleSheets.UpdateCells", - "fullyQualifiedName": "GoogleSheets.UpdateCells@5.1.1", + "fullyQualifiedName": "GoogleSheets.UpdateCells@5.1.0", "description": "Write values to a Google Sheet using a flexible data format.\n\nsheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned,\nthen always assume the default sheet_position is sufficient.", "parameters": [ { @@ -587,9 +569,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -630,7 +610,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleSheets.WhoAmI", - "fullyQualifiedName": "GoogleSheets.WhoAmI@5.1.1", + "fullyQualifiedName": "GoogleSheets.WhoAmI@5.1.0", "description": "Get comprehensive user profile and Google Sheets environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Sheets access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -660,7 +640,7 @@ { "name": "WriteToCell", "qualifiedName": "GoogleSheets.WriteToCell", - "fullyQualifiedName": "GoogleSheets.WriteToCell@5.1.1", + "fullyQualifiedName": "GoogleSheets.WriteToCell@5.1.0", "description": "Write a value to a single cell in a spreadsheet.", "parameters": [ { @@ -707,9 +687,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -758,6 +736,6 @@ "import ScopePicker from \"@/app/_components/scope-picker\";" ], "subPages": [], - "generatedAt": "2026-02-18T02:27:25.718Z", + "generatedAt": "2026-01-26T17:33:21.516Z", "summary": "Arcade.dev provides LLM tools for Google Sheets, enabling seamless interactions with spreadsheet data through API integration. This toolkit allows developers to automate tasks, manage files, and enhance user experience in Google Sheets.\n\n### Capabilities\n- Create and manage spreadsheets with flexible data formats.\n- Retrieve and update cell contents efficiently.\n- Access user profile information and permissions.\n- Generate file picker URLs for user-driven file selection and authorization.\n\n### OAuth\n- **Provider**: Google \n- **Scopes**: \n - `https://www.googleapis.com/auth/drive.file` \n - `https://www.googleapis.com/auth/userinfo.email` \n - `https://www.googleapis.com/auth/userinfo.profile`\n\n### Secrets\n- No secret types or names are specified." -} \ No newline at end of file +} diff --git a/toolkit-docs-generator/data/toolkits/googleslides.json b/toolkit-docs-generator/data/toolkits/googleslides.json index d30fd0867..e42898e69 100644 --- a/toolkit-docs-generator/data/toolkits/googleslides.json +++ b/toolkit-docs-generator/data/toolkits/googleslides.json @@ -1,7 +1,7 @@ { "id": "GoogleSlides", "label": "Google Slides", - "version": "1.3.3", + "version": "1.3.2", "description": "Arcade.dev LLM tools for Google Slides", "metadata": { "category": "productivity", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/google-slides", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/google-slides", "isComingSoon": false, "isHidden": false }, @@ -26,7 +26,7 @@ { "name": "CommentOnPresentation", "qualifiedName": "GoogleSlides.CommentOnPresentation", - "fullyQualifiedName": "GoogleSlides.CommentOnPresentation@1.3.3", + "fullyQualifiedName": "GoogleSlides.CommentOnPresentation@1.3.2", "description": "Comment on a specific slide by its index in a Google Slides presentation.", "parameters": [ { @@ -49,9 +49,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -64,12 +62,12 @@ "toolName": "GoogleSlides.CommentOnPresentation", "parameters": { "presentation_id": { - "value": "1a2B3cD4EfGHijkLMnoPQrsTuvWxYZ", + "value": "1A2B3C4D5E6F7G8H9I0J", "type": "string", "required": true }, "comment_text": { - "value": "Please update the chart on this slide to reflect Q1 sales and apply the company color palette; increase label font size for readability.", + "value": "Great job on this slide! Very informative.", "type": "string", "required": true } @@ -82,7 +80,7 @@ { "name": "CreatePresentation", "qualifiedName": "GoogleSlides.CreatePresentation", - "fullyQualifiedName": "GoogleSlides.CreatePresentation@1.3.3", + "fullyQualifiedName": "GoogleSlides.CreatePresentation@1.3.2", "description": "Create a new Google Slides presentation\nThe first slide will be populated with the specified title and subtitle.", "parameters": [ { @@ -105,9 +103,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -120,12 +116,12 @@ "toolName": "GoogleSlides.CreatePresentation", "parameters": { "title": { - "value": "Q2 Product Roadmap", + "value": "Annual Sales Report", "type": "string", "required": true }, "subtitle": { - "value": "Team review and key milestones — Prepared by Product Team", + "value": "Q1 Performance Analysis", "type": "string", "required": false } @@ -138,7 +134,7 @@ { "name": "CreateSlide", "qualifiedName": "GoogleSlides.CreateSlide", - "fullyQualifiedName": "GoogleSlides.CreateSlide@1.3.3", + "fullyQualifiedName": "GoogleSlides.CreateSlide@1.3.2", "description": "Create a new slide at the end of the specified presentation", "parameters": [ { @@ -169,9 +165,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -184,17 +178,17 @@ "toolName": "GoogleSlides.CreateSlide", "parameters": { "presentation_id": { - "value": "1A2b3C4d5EFGhijkLMnOPqRstUvWXyZ6789abCDeFg", + "value": "1A2B3C4D5E6F7G8H9I0J", "type": "string", "required": true }, "slide_title": { - "value": "Project Kickoff", + "value": "Introduction to JSON", "type": "string", "required": true }, "slide_body": { - "value": "Overview of project goals, timeline, key stakeholders, main milestones, and next steps. Action items: assign owners and set deadlines.", + "value": "This slide provides an overview of JSON format and its uses.", "type": "string", "required": true } @@ -207,7 +201,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleSlides.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleSlides.GenerateGoogleFilePickerUrl@1.3.3", + "fullyQualifiedName": "GoogleSlides.GenerateGoogleFilePickerUrl@1.3.2", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -233,7 +227,7 @@ { "name": "GetPresentationAsMarkdown", "qualifiedName": "GoogleSlides.GetPresentationAsMarkdown", - "fullyQualifiedName": "GoogleSlides.GetPresentationAsMarkdown@1.3.3", + "fullyQualifiedName": "GoogleSlides.GetPresentationAsMarkdown@1.3.2", "description": "Get the specified Google Slides presentation and convert it to markdown.\n\nOnly retrieves the text content of the presentation and formats it as markdown.", "parameters": [ { @@ -248,9 +242,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -263,7 +255,7 @@ "toolName": "GoogleSlides.GetPresentationAsMarkdown", "parameters": { "presentation_id": { - "value": "1aBcD2efGhIJKlMnoPqRstUvWXYZ1234567890", + "value": "1a2B3cD4E5fG6H7I8J9K0", "type": "string", "required": true } @@ -276,7 +268,7 @@ { "name": "ListPresentationComments", "qualifiedName": "GoogleSlides.ListPresentationComments", - "fullyQualifiedName": "GoogleSlides.ListPresentationComments@1.3.3", + "fullyQualifiedName": "GoogleSlides.ListPresentationComments@1.3.2", "description": "List all comments on the specified Google Slides presentation.", "parameters": [ { @@ -299,9 +291,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -314,7 +304,7 @@ "toolName": "GoogleSlides.ListPresentationComments", "parameters": { "presentation_id": { - "value": "1a2B3cD4EfGhIjKlMnOpQrStUvWxYz1234567890", + "value": "1A2B3C4D5E6F7G8H9I0J", "type": "string", "required": true }, @@ -332,7 +322,7 @@ { "name": "SearchPresentations", "qualifiedName": "GoogleSlides.SearchPresentations", - "fullyQualifiedName": "GoogleSlides.SearchPresentations@1.3.3", + "fullyQualifiedName": "GoogleSlides.SearchPresentations@1.3.2", "description": "Searches for presentations in the user's Google Drive.\nExcludes presentations that are in the trash.", "parameters": [ { @@ -429,9 +419,7 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": [ - "https://www.googleapis.com/auth/drive.file" - ] + "scopes": ["https://www.googleapis.com/auth/drive.file"] }, "secrets": [], "secretsInfo": [], @@ -444,24 +432,17 @@ "toolName": "GoogleSlides.SearchPresentations", "parameters": { "presentation_contains": { - "value": [ - "Q3 Sales", - "roadmap", - "FY2026" - ], + "value": ["marketing", "2023", "presentation"], "type": "array", "required": false }, "presentation_not_contains": { - "value": [ - "draft", - "internal" - ], + "value": ["draft", "internal"], "type": "array", "required": false }, "search_only_in_shared_drive_id": { - "value": "0A1B2C3D4E5F6G7H8I", + "value": "abc123xyz", "type": "string", "required": false }, @@ -476,20 +457,17 @@ "required": false }, "order_by": { - "value": [ - "modifiedTime desc", - "name asc" - ], + "value": ["modifiedTime desc"], "type": "array", "required": false }, "limit": { - "value": 25, + "value": 10, "type": "integer", "required": false }, "pagination_token": { - "value": "CgkI7eXampleToken12345", + "value": "token123", "type": "string", "required": false } @@ -502,7 +480,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleSlides.WhoAmI", - "fullyQualifiedName": "GoogleSlides.WhoAmI@1.3.3", + "fullyQualifiedName": "GoogleSlides.WhoAmI@1.3.2", "description": "Get comprehensive user profile and Google Slides environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Slides access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -530,9 +508,19 @@ } } ], - "documentationChunks": [], - "customImports": [], + "documentationChunks": [ + { + "type": "section", + "location": "custom_section", + "position": "after", + "content": "## GoogleSlides Reference\n\nBelow is a reference of enumerations used by some tools in the GoogleSlides MCP Server:\n\n### OrderBy\n\n- **CREATED_TIME**: `createdTime`\n- **CREATED_TIME_DESC**: `createdTime desc`\n- **FOLDER**: `folder`\n- **FOLDER_DESC**: `folder desc`\n- **MODIFIED_BY_ME_TIME**: `modifiedByMeTime`\n- **MODIFIED_BY_ME_TIME_DESC**: `modifiedByMeTime desc`\n- **MODIFIED_TIME**: `modifiedTime`\n- **MODIFIED_TIME_DESC**: `modifiedTime desc`\n- **NAME**: `name`\n- **NAME_DESC**: `name desc`\n- **NAME_NATURAL**: `name_natural`\n- **NAME_NATURAL_DESC**: `name_natural desc`\n- **QUOTA_BYTES_USED**: `quotaBytesUsed`\n- **QUOTA_BYTES_USED_DESC**: `quotaBytesUsed desc`\n- **RECENCY**: `recency`\n- **RECENCY_DESC**: `recency desc`\n- **SHARED_WITH_ME_TIME**: `sharedWithMeTime`\n- **SHARED_WITH_ME_TIME_DESC**: `sharedWithMeTime desc`\n- **STARRED**: `starred`\n- **STARRED_DESC**: `starred desc`\n- **VIEWED_BY_ME_TIME**: `viewedByMeTime`\n- **VIEWED_BY_ME_TIME_DESC**: `viewedByMeTime desc`\n\n", + "header": "## GoogleSlides Reference" + } + ], + "customImports": [ + "import ScopePicker from \"@/app/_components/scope-picker\";" + ], "subPages": [], - "generatedAt": "2026-02-18T02:27:39.640Z", + "generatedAt": "2026-01-26T17:33:35.118Z", "summary": "Arcade.dev provides a powerful toolkit for Google Slides, enabling seamless integration and manipulation of presentations within Google Drive. This toolkit allows developers to automate various tasks related to presentation management, enhancing productivity and collaboration.\n\n**Capabilities**\n- Generate, modify, and comment on slides within presentations.\n- Create new Google Slides presentations with specified content.\n- Retrieve presentations and convert them to markdown format.\n- Search for and list presentations in the user's Google Drive.\n- Access comprehensive user profile information and permissions.\n\n**OAuth**\n- Provider: Google\n- Scopes: [https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile]" -} \ No newline at end of file +} diff --git a/toolkit-docs-generator/data/toolkits/index.json b/toolkit-docs-generator/data/toolkits/index.json index 44c32547e..af48d1e93 100644 --- a/toolkit-docs-generator/data/toolkits/index.json +++ b/toolkit-docs-generator/data/toolkits/index.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-02-18T02:43:50.484Z", + "generatedAt": "2026-01-26T19:59:55.801Z", "version": "1.0.0", "toolkits": [ { @@ -7,106 +7,105 @@ "label": "Airtable API", "version": "4.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 96, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "ArcadeEngineApi", "label": "Arcade Engine API", "version": "1.0.0", "category": "development", - "type": "arcade_starter", "toolCount": 29, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "Asana", "label": "Asana", "version": "1.1.1", "category": "productivity", - "type": "arcade", "toolCount": 19, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "AsanaApi", "label": "Asana API", "version": "1.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 199, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "AshbyApi", "label": "Ashby API", "version": "2.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 141, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "BoxApi", "label": "Box API", "version": "1.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 188, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "Brightdata", "label": "Bright Data", "version": "0.2.0", "category": "development", - "type": "community", "toolCount": 3, - "authType": "none" + "authType": "none", + "type": "community" }, { "id": "CalendlyApi", "label": "Calendly API", "version": "3.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 51, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "Clickup", "label": "ClickUp", "version": "1.1.1", "category": "productivity", - "type": "arcade", "toolCount": 24, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "ClickupApi", "label": "ClickUp API", "version": "1.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 134, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "CodeSandbox", "label": "Codesandbox", "version": "2.0.1", "category": "development", - "type": "arcade", "toolCount": 2, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "ComplexTools", "label": "ComplexTools", "version": "0.1.0", "category": "development", - "type": "arcade", "toolCount": 6, "authType": "none" }, @@ -115,61 +114,60 @@ "label": "Confluence", "version": "2.2.2", "category": "productivity", - "type": "arcade", "toolCount": 14, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "CursorAgentsApi", "label": "Cursor Agents API", "version": "0.1.1", "category": "development", - "type": "arcade_starter", "toolCount": 7, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "CustomerioApi", "label": "Customer.io API", "version": "1.0.0", "category": "customer-support", - "type": "arcade_starter", "toolCount": 115, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "CustomerioPipelinesApi", "label": "Customer.io Pipelines API", "version": "1.0.0", "category": "customer-support", - "type": "arcade_starter", "toolCount": 7, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "CustomerioTrackApi", "label": "Customer.io Track API", "version": "1.0.0", "category": "customer-support", - "type": "arcade_starter", "toolCount": 17, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "DatadogApi", "label": "Datadog API", "version": "2.0.0", "category": "development", - "type": "arcade_starter", "toolCount": 588, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "Deepwiki", "label": "Deepwiki", "version": "0.0.1", "category": "development", - "type": "arcade", "toolCount": 3, "authType": "none" }, @@ -178,34 +176,33 @@ "label": "Dropbox", "version": "1.0.1", "category": "productivity", - "type": "arcade", "toolCount": 3, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "E2b", "label": "E2B", "version": "3.0.1", "category": "development", - "type": "arcade", "toolCount": 2, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "ExaApi", "label": "Exa API", "version": "2.0.0", "category": "search", - "type": "arcade_starter", "toolCount": 45, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "Figma", "label": "Figma", "version": "0.1.0", "category": "development", - "type": "arcade", "toolCount": 15, "authType": "oauth2" }, @@ -214,61 +211,60 @@ "label": "Figma API", "version": "1.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 43, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "Firecrawl", "label": "Firecrawl", "version": "3.0.1", "category": "development", - "type": "arcade", "toolCount": 6, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "FreshserviceApi", "label": "Freshservice API", "version": "3.0.0", "category": "customer-support", - "type": "arcade_starter", "toolCount": 214, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "Github", "label": "GitHub", "version": "2.0.1", "category": "development", - "type": "arcade", "toolCount": 44, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "GithubApi", "label": "GitHub API", "version": "1.0.0", "category": "development", - "type": "arcade_starter", "toolCount": 818, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "Gmail", "label": "Gmail", "version": "4.1.0", "category": "productivity", - "type": "arcade", "toolCount": 18, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "Google", "label": "Google", "version": "2.0.2", "category": "development", - "type": "arcade", "toolCount": 37, "authType": "oauth2" }, @@ -277,268 +273,267 @@ "label": "Google Calendar", "version": "3.2.2", "category": "productivity", - "type": "arcade", "toolCount": 7, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "GoogleContacts", "label": "Google Contacts", "version": "3.4.0", "category": "productivity", - "type": "arcade", "toolCount": 5, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "GoogleDocs", "label": "Google Docs", - "version": "5.0.3", + "version": "5.0.1", "category": "productivity", - "type": "arcade", "toolCount": 13, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "GoogleDrive", "label": "Google Drive", "version": "5.1.0", "category": "productivity", - "type": "arcade", "toolCount": 11, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "GoogleFinance", "label": "Google Finance", "version": "3.1.2", "category": "search", - "type": "arcade", "toolCount": 2, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "GoogleFlights", "label": "Google Flights", "version": "3.1.2", "category": "search", - "type": "arcade", "toolCount": 1, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "GoogleHotels", "label": "Google Hotels", "version": "3.1.2", "category": "search", - "type": "arcade", "toolCount": 1, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "GoogleJobs", "label": "Google Jobs", "version": "3.1.2", "category": "search", - "type": "arcade", "toolCount": 1, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "GoogleMaps", "label": "Google Maps", "version": "3.1.2", "category": "search", - "type": "arcade", "toolCount": 2, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "GoogleNews", "label": "Google News", "version": "3.1.2", "category": "search", - "type": "arcade", "toolCount": 1, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "GoogleSearch", "label": "Google Search", "version": "3.1.2", "category": "search", - "type": "arcade", "toolCount": 1, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "GoogleSheets", "label": "Google Sheets", - "version": "5.1.1", + "version": "5.1.0", "category": "productivity", - "type": "arcade", "toolCount": 9, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "GoogleShopping", "label": "Google Shopping", "version": "3.1.2", "category": "search", - "type": "arcade", "toolCount": 1, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "GoogleSlides", "label": "Google Slides", - "version": "1.3.3", + "version": "1.3.2", "category": "productivity", - "type": "arcade", "toolCount": 8, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "Hubspot", "label": "HubSpot", "version": "3.0.0", "category": "sales", - "type": "arcade", "toolCount": 40, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "HubspotAutomationApi", "label": "HubSpot Automation API", "version": "1.0.0", "category": "sales", - "type": "arcade_starter", "toolCount": 9, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "HubspotCmsApi", "label": "HubSpot CMS API", "version": "1.0.0", "category": "sales", - "type": "arcade_starter", "toolCount": 175, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "HubspotConversationsApi", "label": "HubSpot Conversations API", "version": "1.0.0", "category": "sales", - "type": "arcade_starter", "toolCount": 24, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "HubspotCrmApi", "label": "HubSpot CRM API", "version": "1.0.0", "category": "sales", - "type": "arcade_starter", "toolCount": 453, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "HubspotEventsApi", "label": "HubSpot Events API", "version": "2.0.0", "category": "sales", - "type": "arcade_starter", "toolCount": 6, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "HubspotMarketingApi", "label": "HubSpot Marketing API", "version": "1.0.0", "category": "sales", - "type": "arcade_starter", "toolCount": 90, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "HubspotMeetingsApi", "label": "HubSpot Meetings API", "version": "1.0.0", "category": "sales", - "type": "arcade_starter", "toolCount": 5, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "HubspotUsersApi", "label": "HubSpot Users API", "version": "1.0.0", "category": "sales", - "type": "arcade_starter", "toolCount": 7, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "Imgflip", "label": "Imgflip", "version": "1.0.1", "category": "entertainment", - "type": "arcade", "toolCount": 3, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "IntercomApi", "label": "Intercom API", "version": "1.0.0", "category": "customer-support", - "type": "arcade_starter", "toolCount": 107, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "Jira", "label": "Jira", "version": "3.0.2", "category": "productivity", - "type": "auth", "toolCount": 43, - "authType": "oauth2" + "authType": "oauth2", + "type": "auth" }, { "id": "Linear", "label": "Linear", - "version": "3.2.1", + "version": "3.2.0", "category": "productivity", - "type": "arcade", "toolCount": 39, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "Linkedin", "label": "LinkedIn", "version": "0.1.14", "category": "social", - "type": "arcade", "toolCount": 1, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "LumaApi", "label": "Luma API", "version": "1.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 37, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "MailchimpMarketingApi", - "label": "Mailchimp API", + "label": "MailchimpMarketingApi", "version": "1.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 278, "authType": "oauth2" }, @@ -547,7 +542,6 @@ "label": "Math", "version": "1.0.5", "category": "development", - "type": "arcade", "toolCount": 23, "authType": "none" }, @@ -556,7 +550,6 @@ "label": "Microsoft", "version": "1.1.1", "category": "development", - "type": "arcade", "toolCount": 11, "authType": "oauth2" }, @@ -565,52 +558,51 @@ "label": "Microsoft Teams", "version": "0.4.1", "category": "social", - "type": "arcade", "toolCount": 25, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "MiroApi", "label": "Miro API", "version": "3.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 139, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "NotionToolkit", "label": "Notion", "version": "1.2.1", "category": "productivity", - "type": "arcade", "toolCount": 8, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "OutlookCalendar", "label": "Outlook Calendar", "version": "2.2.1", "category": "productivity", - "type": "arcade", "toolCount": 4, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "OutlookMail", "label": "Outlook Mail", "version": "2.3.0", "category": "productivity", - "type": "arcade", "toolCount": 9, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "Pagerduty", "label": "Pagerduty", "version": "0.2.0", "category": "development", - "type": "arcade", "toolCount": 14, "authType": "oauth2" }, @@ -619,25 +611,24 @@ "label": "PagerDuty API", "version": "4.0.0", "category": "development", - "type": "arcade_starter", "toolCount": 374, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "PosthogApi", "label": "PostHog API", "version": "2.0.0", "category": "development", - "type": "arcade_starter", "toolCount": 766, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "Pylon", "label": "Pylon", "version": "0.2.0", "category": "development", - "type": "arcade", "toolCount": 13, "authType": "none" }, @@ -646,7 +637,6 @@ "label": "PylonApi", "version": "1.0.0", "category": "development", - "type": "arcade_starter", "toolCount": 82, "authType": "none" }, @@ -655,97 +645,95 @@ "label": "Reddit", "version": "1.1.1", "category": "social", - "type": "arcade", "toolCount": 11, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "Salesforce", "label": "Salesforce", "version": "2.0.1", "category": "sales", - "type": "arcade", "toolCount": 3, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "Search", "label": "Search", "version": "2.0.1", "category": "development", - "type": "arcade", "toolCount": 15, "authType": "none" }, { "id": "Sharepoint", "label": "Microsoft SharePoint", - "version": "0.7.0", + "version": "0.4.1", "category": "productivity", - "type": "arcade", - "toolCount": 28, - "authType": "oauth2" + "toolCount": 12, + "authType": "oauth2", + "type": "arcade" }, { "id": "Slack", "label": "Slack", - "version": "2.1.0", + "version": "2.0.0", "category": "social", - "type": "arcade", - "toolCount": 9, - "authType": "oauth2" + "toolCount": 8, + "authType": "oauth2", + "type": "arcade" }, { "id": "SlackApi", "label": "Slack API", "version": "1.0.0", "category": "social", - "type": "arcade_starter", "toolCount": 73, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "Spotify", "label": "Spotify", "version": "1.0.2", "category": "entertainment", - "type": "arcade", "toolCount": 13, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "SquareupApi", "label": "SquareUp API", "version": "4.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 286, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "Stripe", "label": "Stripe", - "version": "1.0.2", + "version": "1.0.1", "category": "payments", - "type": "arcade", "toolCount": 15, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "StripeApi", "label": "Stripe API", "version": "1.0.0", "category": "payments", - "type": "arcade_starter", "toolCount": 220, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "Test2", "label": "Test2", "version": "0.1.0", "category": "development", - "type": "arcade", "toolCount": 6, "authType": "none" }, @@ -754,25 +742,24 @@ "label": "TickTick API", "version": "1.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 11, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "TrelloApi", "label": "Trello API", "version": "3.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 246, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "UpclickApi", - "label": "ClickUp API", + "label": "UpclickApi", "version": "0.1.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 7, "authType": "oauth2" }, @@ -781,90 +768,89 @@ "label": "Vercel API", "version": "1.0.0", "category": "development", - "type": "arcade_starter", "toolCount": 194, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "Walmart", "label": "Walmart", "version": "3.0.1", "category": "search", - "type": "arcade", "toolCount": 2, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "WeaviateApi", "label": "Weaviate API", "version": "2.0.0", "category": "development", - "type": "arcade_starter", "toolCount": 81, - "authType": "none" + "authType": "none", + "type": "arcade_starter" }, { "id": "Web", "label": "Web", "version": "2.0.1", "category": "development", - "type": "arcade", "toolCount": 6, "authType": "none" }, { "id": "X", "label": "X", - "version": "1.3.1", + "version": "1.1.1", "category": "social", - "type": "arcade", - "toolCount": 8, - "authType": "oauth2" + "toolCount": 7, + "authType": "oauth2", + "type": "arcade" }, { "id": "XeroApi", "label": "Xero API", "version": "2.0.0", "category": "productivity", - "type": "arcade_starter", "toolCount": 153, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade_starter" }, { "id": "Youtube", "label": "Youtube", - "version": "3.1.4", + "version": "3.1.2", "category": "search", - "type": "arcade", "toolCount": 2, - "authType": "none" + "authType": "none", + "type": "arcade" }, { "id": "Zendesk", "label": "Zendesk", "version": "0.3.1", "category": "customer-support", - "type": "arcade", "toolCount": 6, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" }, { "id": "ZohoBooksApi", "label": "Zoho Books API", - "version": "1.0.0", + "version": "0.0.0", "category": "payments", - "type": "arcade_starter", - "toolCount": 511, - "authType": "oauth2" + "toolCount": 0, + "authType": "none", + "type": "arcade_starter" }, { "id": "Zoom", "label": "Zoom", "version": "1.0.1", "category": "social", - "type": "arcade", "toolCount": 2, - "authType": "oauth2" + "authType": "oauth2", + "type": "arcade" } ] -} \ No newline at end of file +} diff --git a/toolkit-docs-generator/data/toolkits/linear.json b/toolkit-docs-generator/data/toolkits/linear.json index f8325f42e..0e2e58baf 100644 --- a/toolkit-docs-generator/data/toolkits/linear.json +++ b/toolkit-docs-generator/data/toolkits/linear.json @@ -1,7 +1,7 @@ { "id": "Linear", "label": "Linear", - "version": "3.2.1", + "version": "3.2.0", "description": "Arcade tools designed for LLMs to interact with Linear", "metadata": { "category": "productivity", @@ -9,25 +9,20 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/linear", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/linear", "isComingSoon": false, "isHidden": false }, "auth": { "type": "oauth2", "providerId": "linear", - "allScopes": [ - "comments:create", - "issues:create", - "read", - "write" - ] + "allScopes": ["comments:create", "issues:create", "read", "write"] }, "tools": [ { "name": "AddComment", "qualifiedName": "Linear.AddComment", - "fullyQualifiedName": "Linear.AddComment@3.2.1", + "fullyQualifiedName": "Linear.AddComment@3.2.0", "description": "Add a comment to an issue.", "parameters": [ { @@ -50,9 +45,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "comments:create" - ] + "scopes": ["comments:create"] }, "secrets": [], "secretsInfo": [], @@ -70,7 +63,7 @@ "required": true }, "body": { - "value": "Thanks for reporting this. Reproduced on macOS 13.\n\nSteps to reproduce:\n1. Open the app\n2. Click the \"Export\" button\n3. Select CSV and confirm\n\nObserved: the app crashes with error `NullReferenceException`.\nExpected: export completes successfully.\n\nI've assigned this to @alice and opened a fix branch `fix/crash-issue-123`. Please review and let me know if you need more details.", + "value": "This is a comment on the issue. **Important:** Please review this.", "type": "string", "required": true } @@ -83,7 +76,7 @@ { "name": "AddProjectComment", "qualifiedName": "Linear.AddProjectComment", - "fullyQualifiedName": "Linear.AddProjectComment@3.2.1", + "fullyQualifiedName": "Linear.AddProjectComment@3.2.0", "description": "Add a comment to a project's document content.\n\nIMPORTANT: Due to Linear API limitations, comments created via the API will NOT\nappear visually anchored inline in the document (no yellow highlight on text).\nThe comment will be stored and can be retrieved via list_project_comments, but\nit will appear in the comments panel rather than inline in the document.\n\nFor true inline comments that are visually anchored to text, users should create\nthem directly in the Linear UI by selecting text and adding a comment.\n\nThe quoted_text parameter stores metadata about what text the comment references,\nwhich is useful for context even though the comment won't be visually anchored.", "parameters": [ { @@ -122,9 +115,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "comments:create" - ] + "scopes": ["comments:create"] }, "secrets": [], "secretsInfo": [], @@ -137,22 +128,22 @@ "toolName": "Linear.AddProjectComment", "parameters": { "project": { - "value": "proj_01G8Z1Y5M2ABCDEFG", + "value": "proj-12345", "type": "string", "required": true }, "body": { - "value": "Thanks for the update — I have a couple of suggestions:\n\n1. Reword the second paragraph to clarify the timeline.\n2. Add a link to the design spec under \"References\".\n\nIf helpful, I can draft the revised paragraph and attach the spec link.", + "value": "This is a comment about the project.", "type": "string", "required": true }, "quoted_text": { - "value": "We plan to complete the initial implementation by Q3, pending design sign-off.", + "value": "Project milestones must be met by Q3.", "type": "string", "required": false }, "auto_accept_matches": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -165,7 +156,7 @@ { "name": "AddProjectToInitiative", "qualifiedName": "Linear.AddProjectToInitiative", - "fullyQualifiedName": "Linear.AddProjectToInitiative@3.2.1", + "fullyQualifiedName": "Linear.AddProjectToInitiative@3.2.0", "description": "Link a project to an initiative.\n\nBoth initiative and project can be specified by ID or name.\nIf a name is provided, fuzzy matching is used to resolve it.", "parameters": [ { @@ -196,9 +187,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -211,12 +200,12 @@ "toolName": "Linear.AddProjectToInitiative", "parameters": { "initiative": { - "value": "init_98765", + "value": "Initiative Alpha", "type": "string", "required": true }, "project": { - "value": "Mobile App Redesign", + "value": "Project Beta", "type": "string", "required": true }, @@ -234,7 +223,7 @@ { "name": "ArchiveInitiative", "qualifiedName": "Linear.ArchiveInitiative", - "fullyQualifiedName": "Linear.ArchiveInitiative@3.2.1", + "fullyQualifiedName": "Linear.ArchiveInitiative@3.2.0", "description": "Archive an initiative.\n\nArchived initiatives are hidden from default views but can be restored.", "parameters": [ { @@ -257,9 +246,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -272,7 +259,7 @@ "toolName": "Linear.ArchiveInitiative", "parameters": { "initiative": { - "value": "onboarding-redesign-2026", + "value": "2023_Q3_Marketing_Plan", "type": "string", "required": true }, @@ -290,7 +277,7 @@ { "name": "ArchiveIssue", "qualifiedName": "Linear.ArchiveIssue", - "fullyQualifiedName": "Linear.ArchiveIssue@3.2.1", + "fullyQualifiedName": "Linear.ArchiveIssue@3.2.0", "description": "Archive an issue.\n\nArchived issues are hidden from default views but can be restored.", "parameters": [ { @@ -305,9 +292,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -320,7 +305,7 @@ "toolName": "Linear.ArchiveIssue", "parameters": { "issue": { - "value": "ISSUE-12345", + "value": "ISSUE-123", "type": "string", "required": true } @@ -333,7 +318,7 @@ { "name": "ArchiveProject", "qualifiedName": "Linear.ArchiveProject", - "fullyQualifiedName": "Linear.ArchiveProject@3.2.1", + "fullyQualifiedName": "Linear.ArchiveProject@3.2.0", "description": "Archive a project.\n\nArchived projects are hidden from default views but can be restored.", "parameters": [ { @@ -356,9 +341,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -371,7 +354,7 @@ "toolName": "Linear.ArchiveProject", "parameters": { "project": { - "value": "proj-12345", + "value": "example-project-123", "type": "string", "required": true }, @@ -389,7 +372,7 @@ { "name": "CreateInitiative", "qualifiedName": "Linear.CreateInitiative", - "fullyQualifiedName": "Linear.CreateInitiative@3.2.1", + "fullyQualifiedName": "Linear.CreateInitiative@3.2.0", "description": "Create a new Linear initiative.\n\nInitiatives are high-level strategic goals that group related projects.", "parameters": [ { @@ -435,9 +418,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -450,22 +431,22 @@ "toolName": "Linear.CreateInitiative", "parameters": { "name": { - "value": "Q4 Product Strategy Initiative", + "value": "Expand Market Presence", "type": "string", "required": true }, "description": { - "value": "Drive cross-functional efforts to refine product vision, prioritize the roadmap, and deliver key platform improvements.\n\nGoals:\n- Unify user onboarding flow\n- Improve core API performance by 30%\n- Launch analytics dashboard\n\nStakeholders: Product, Engineering, Design", + "value": "### Goal\nIncrease our market penetration in the following regions:\n- North America\n- Europe\n\n### Expected Outcomes\n- 20% increase in sales\n- Improved brand recognition", "type": "string", "required": false }, "status": { - "value": "Planned", + "value": "in progress", "type": "string", "required": false }, "target_date": { - "value": "2026-12-31", + "value": "2024-12-31", "type": "string", "required": false } @@ -478,7 +459,7 @@ { "name": "CreateIssue", "qualifiedName": "Linear.CreateIssue", - "fullyQualifiedName": "Linear.CreateIssue@3.2.1", + "fullyQualifiedName": "Linear.CreateIssue@3.2.0", "description": "Create a new Linear issue with validation.\n\nWhen assignee is None or '@me', the issue is assigned to the authenticated user.\nAll entity references (team, assignee, labels, state, project, cycle, parent)\nare validated before creation. If an entity is not found, suggestions are\nreturned to help correct the input.", "parameters": [ { @@ -527,13 +508,7 @@ "type": "string", "required": false, "description": "Issue priority. Default is None (no priority).", - "enum": [ - "none", - "urgent", - "high", - "medium", - "low" - ], + "enum": ["none", "urgent", "high", "medium", "low"], "inferrable": true }, { @@ -612,9 +587,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "issues:create" - ] + "scopes": ["issues:create"] }, "secrets": [], "secretsInfo": [], @@ -627,17 +600,17 @@ "toolName": "Linear.CreateIssue", "parameters": { "team": { - "value": "frontend", + "value": "Engineering", "type": "string", "required": true }, "title": { - "value": "Fix login redirect when session expires", + "value": "Fix login bug", "type": "string", "required": true }, "description": { - "value": "When a user's session expires and they attempt to access a protected page, the app redirects them to /login but does not preserve the original destination. Steps to reproduce:\n\n1. Log in\n2. Let session expire\n3. Navigate to /dashboard\n\nExpected: After re-authentication, user should be redirected back to /dashboard.\n\nObserved: User is sent to homepage.\n\nProposed fix: Preserve original URL in the query string and perform redirect after successful login.", + "value": "There is an issue with the login functionality that needs to be addressed. Please check the backend logs for more details.", "type": "string", "required": false }, @@ -647,61 +620,57 @@ "required": false }, "labels_to_add": { - "value": [ - "bug", - "frontend", - "regression" - ], + "value": ["bug", " urgent"], "type": "array", "required": false }, "priority": { - "value": "High", + "value": "high", "type": "string", "required": false }, "state": { - "value": "Backlog", + "value": "In Progress", "type": "string", "required": false }, "project": { - "value": "website-redesign", + "value": "User Authentication", "type": "string", "required": false }, "cycle": { - "value": "Sprint 42", + "value": "Q4-2023", "type": "string", "required": false }, "parent_issue": { - "value": "ISSUE-5678", + "value": null, "type": "string", "required": false }, "estimate": { - "value": 3, + "value": 5, "type": "integer", "required": false }, "due_date": { - "value": "2026-03-01", + "value": "2023-11-01", "type": "string", "required": false }, "attachment_url": { - "value": "https://www.example.com/screenshots/login-redirect.png", + "value": "https://example.com/screenshot.png", "type": "string", "required": false }, "attachment_title": { - "value": "Login redirect failure - screenshot", + "value": "Login Bug Screenshot", "type": "string", "required": false }, "auto_accept_matches": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -714,7 +683,7 @@ { "name": "CreateIssueRelation", "qualifiedName": "Linear.CreateIssueRelation", - "fullyQualifiedName": "Linear.CreateIssueRelation@3.2.1", + "fullyQualifiedName": "Linear.CreateIssueRelation@3.2.0", "description": "Create a relation between two issues.\n\nRelation types define the relationship from the source issue's perspective:\n- blocks: Source issue blocks the related issue\n- blockedBy: Source issue is blocked by the related issue\n- duplicate: Source issue is a duplicate of the related issue\n- related: Issues are related (bidirectional)", "parameters": [ { @@ -738,21 +707,14 @@ "type": "string", "required": true, "description": "Type of relation to create.", - "enum": [ - "blocks", - "blockedBy", - "duplicate", - "related" - ], + "enum": ["blocks", "blockedBy", "duplicate", "related"], "inferrable": true } ], "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -765,12 +727,12 @@ "toolName": "Linear.CreateIssueRelation", "parameters": { "issue": { - "value": "ISSUE-100", + "value": "ISSUE-123", "type": "string", "required": true }, "related_issue": { - "value": "ISSUE-101", + "value": "ISSUE-456", "type": "string", "required": true }, @@ -788,7 +750,7 @@ { "name": "CreateProject", "qualifiedName": "Linear.CreateProject", - "fullyQualifiedName": "Linear.CreateProject@3.2.1", + "fullyQualifiedName": "Linear.CreateProject@3.2.0", "description": "Create a new Linear project.\n\nTeam is validated before creation. If team is not found, suggestions are\nreturned to help correct the input. Lead is validated if provided.", "parameters": [ { @@ -874,9 +836,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -889,47 +849,47 @@ "toolName": "Linear.CreateProject", "parameters": { "name": { - "value": "Mobile App Revamp", + "value": "New Product Launch", "type": "string", "required": true }, "team": { - "value": "product-team", + "value": "Marketing", "type": "string", "required": true }, "description": { - "value": "Revamp the mobile app UX and performance across iOS and Android. Focus on onboarding, analytics, and core user flows.", + "value": "This project focuses on the launch of our new product line.", "type": "string", "required": false }, "content": { - "value": "# Mobile App Revamp\n\nGoals:\n- Improve onboarding completion to 60%\n- Reduce cold start time by 40%\n\nScope:\n- Redesign onboarding screens\n- Migrate critical flows to native modules\n- Add analytics and error monitoring\n\nMilestones:\n1. Design signoff\n2. Beta release\n3. Public release", + "value": "# Project Overview\nThis document outlines the strategy and timeline for the product launch.", "type": "string", "required": false }, "state": { - "value": "Planned", + "value": "active", "type": "string", "required": false }, "lead": { - "value": "alex.martin@example.com", + "value": "jane.doe@example.com", "type": "string", "required": false }, "start_date": { - "value": "2026-03-01", + "value": "2023-11-01", "type": "string", "required": false }, "target_date": { - "value": "2026-06-30", + "value": "2024-01-15", "type": "string", "required": false }, "auto_accept_matches": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -942,7 +902,7 @@ { "name": "CreateProjectUpdate", "qualifiedName": "Linear.CreateProjectUpdate", - "fullyQualifiedName": "Linear.CreateProjectUpdate@3.2.1", + "fullyQualifiedName": "Linear.CreateProjectUpdate@3.2.0", "description": "Create a project status update.\n\nProject updates are posts that communicate progress, blockers, or status\nchanges to stakeholders. They appear in the project's Updates tab and\ncan include a health status indicator.", "parameters": [ { @@ -966,20 +926,14 @@ "type": "string", "required": false, "description": "Project health status. Default is None (no change).", - "enum": [ - "onTrack", - "atRisk", - "offTrack" - ], + "enum": ["onTrack", "atRisk", "offTrack"], "inferrable": true } ], "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -992,17 +946,17 @@ "toolName": "Linear.CreateProjectUpdate", "parameters": { "project_id": { - "value": "proj_01A2B3C4", + "value": "proj_123456", "type": "string", "required": true }, "body": { - "value": "## Project Update — Week of 2026-02-16\n\n### Progress\n- Completed integration of the new payments API (PR #342).\n- Deployed frontend form validation to staging.\n- Updated documentation for onboarding flow.\n\n### Blockers\n- Flaky end-to-end tests causing CI instability.\n- Pending security review for token storage approach; awaiting sign-off from SecOps.\n\n### Next Steps\n1. Stabilize e2e tests and re-run CI pipeline.\n2. Merge feature branch and deploy to staging for broader QA.\n3. Address any security review feedback.\n\nIf you have questions or need a demo, ping @product or @eng-lead.", + "value": "## Update on Project Progress\n\nWe have made significant progress this week. The new features are nearing completion and we are on track for the launch. \n\n**Blockers:** \n- Awaiting feedback from the design team on UI components.\n\n**Next Steps:** \n- Finalize testing by end of the week.", "type": "string", "required": true }, "health": { - "value": "at_risk", + "value": "On Track", "type": "string", "required": false } @@ -1015,7 +969,7 @@ { "name": "GetCycle", "qualifiedName": "Linear.GetCycle", - "fullyQualifiedName": "Linear.GetCycle@3.2.1", + "fullyQualifiedName": "Linear.GetCycle@3.2.0", "description": "Get detailed information about a specific Linear cycle.", "parameters": [ { @@ -1030,9 +984,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1045,7 +997,7 @@ "toolName": "Linear.GetCycle", "parameters": { "cycle_id": { - "value": "cycle_1234567890", + "value": "abc123", "type": "string", "required": true } @@ -1058,7 +1010,7 @@ { "name": "GetInitiative", "qualifiedName": "Linear.GetInitiative", - "fullyQualifiedName": "Linear.GetInitiative@3.2.1", + "fullyQualifiedName": "Linear.GetInitiative@3.2.0", "description": "Get detailed information about a specific Linear initiative.\n\nSupports lookup by ID or name (with fuzzy matching for name).", "parameters": [ { @@ -1074,10 +1026,7 @@ "type": "string", "required": false, "description": "How to look up the initiative. Default is id.", - "enum": [ - "id", - "name" - ], + "enum": ["id", "name"], "inferrable": true }, { @@ -1100,9 +1049,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1115,12 +1062,12 @@ "toolName": "Linear.GetInitiative", "parameters": { "value": { - "value": "New Product Launch Initiative", + "value": "12345", "type": "string", "required": true }, "lookup_by": { - "value": "name", + "value": "id", "type": "string", "required": false }, @@ -1130,7 +1077,7 @@ "required": false }, "auto_accept_matches": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -1143,7 +1090,7 @@ { "name": "GetInitiativeDescription", "qualifiedName": "Linear.GetInitiativeDescription", - "fullyQualifiedName": "Linear.GetInitiativeDescription@3.2.1", + "fullyQualifiedName": "Linear.GetInitiativeDescription@3.2.0", "description": "Get an initiative's full description with pagination support.\n\nUse this tool when you need the complete description of an initiative that\nwas truncated in the get_initiative response. Supports chunked reading for\nvery large descriptions.", "parameters": [ { @@ -1174,9 +1121,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1189,7 +1134,7 @@ "toolName": "Linear.GetInitiativeDescription", "parameters": { "initiative_id": { - "value": "init_1234567890abcdef", + "value": "12345", "type": "string", "required": true }, @@ -1199,7 +1144,7 @@ "required": false }, "limit": { - "value": 2000, + "value": 1500, "type": "integer", "required": false } @@ -1212,7 +1157,7 @@ { "name": "GetIssue", "qualifiedName": "Linear.GetIssue", - "fullyQualifiedName": "Linear.GetIssue@3.2.1", + "fullyQualifiedName": "Linear.GetIssue@3.2.0", "description": "Get detailed information about a specific Linear issue.\n\nAccepts either the issue UUID or the human-readable identifier (like TOO-123).", "parameters": [ { @@ -1259,9 +1204,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1284,7 +1227,7 @@ "required": false }, "include_attachments": { - "value": false, + "value": true, "type": "boolean", "required": false }, @@ -1294,7 +1237,7 @@ "required": false }, "include_children": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -1307,7 +1250,7 @@ { "name": "GetNotifications", "qualifiedName": "Linear.GetNotifications", - "fullyQualifiedName": "Linear.GetNotifications@3.2.1", + "fullyQualifiedName": "Linear.GetNotifications@3.2.0", "description": "Get the authenticated user's notifications.\n\nReturns notifications including issue mentions, comments, assignments,\nand state changes.", "parameters": [ { @@ -1338,9 +1281,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1358,12 +1299,12 @@ "required": false }, "limit": { - "value": 25, + "value": 15, "type": "integer", "required": false }, "end_cursor": { - "value": "cursor_eyJpZCI6IjEyMzQ1NiJ9", + "value": "abc123", "type": "string", "required": false } @@ -1376,7 +1317,7 @@ { "name": "GetProject", "qualifiedName": "Linear.GetProject", - "fullyQualifiedName": "Linear.GetProject@3.2.1", + "fullyQualifiedName": "Linear.GetProject@3.2.0", "description": "Get detailed information about a specific Linear project.\n\nSupports lookup by ID, slug_id, or name (with fuzzy matching for name).", "parameters": [ { @@ -1392,11 +1333,7 @@ "type": "string", "required": false, "description": "How to look up the project. Default is id.", - "enum": [ - "id", - "slug_id", - "name" - ], + "enum": ["id", "slug_id", "name"], "inferrable": true }, { @@ -1427,9 +1364,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1442,12 +1377,12 @@ "toolName": "Linear.GetProject", "parameters": { "value": { - "value": "Website Redesign", + "value": "proj-1234", "type": "string", "required": true }, "lookup_by": { - "value": "name", + "value": "id", "type": "string", "required": false }, @@ -1457,12 +1392,12 @@ "required": false }, "include_comments": { - "value": true, + "value": false, "type": "boolean", "required": false }, "auto_accept_matches": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -1475,7 +1410,7 @@ { "name": "GetProjectDescription", "qualifiedName": "Linear.GetProjectDescription", - "fullyQualifiedName": "Linear.GetProjectDescription@3.2.1", + "fullyQualifiedName": "Linear.GetProjectDescription@3.2.0", "description": "Get a project's full description with pagination support.\n\nUse this tool when you need the complete description of a project that\nwas truncated in the get_project response. Supports chunked reading for\nvery large descriptions.", "parameters": [ { @@ -1506,9 +1441,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1521,12 +1454,12 @@ "toolName": "Linear.GetProjectDescription", "parameters": { "project_id": { - "value": "marketing-team-2024", + "value": "proj-1234", "type": "string", "required": true }, "offset": { - "value": 1200, + "value": 0, "type": "integer", "required": false }, @@ -1544,7 +1477,7 @@ { "name": "GetRecentActivity", "qualifiedName": "Linear.GetRecentActivity", - "fullyQualifiedName": "Linear.GetRecentActivity@3.2.1", + "fullyQualifiedName": "Linear.GetRecentActivity@3.2.0", "description": "Get the authenticated user's recent issue activity.\n\nReturns issues the user has recently created or been assigned to\nwithin the specified time period.", "parameters": [ { @@ -1567,9 +1500,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1582,12 +1513,12 @@ "toolName": "Linear.GetRecentActivity", "parameters": { "days": { - "value": 14, + "value": 15, "type": "integer", "required": false }, "limit": { - "value": 10, + "value": 25, "type": "integer", "required": false } @@ -1600,7 +1531,7 @@ { "name": "GetTeam", "qualifiedName": "Linear.GetTeam", - "fullyQualifiedName": "Linear.GetTeam@3.2.1", + "fullyQualifiedName": "Linear.GetTeam@3.2.0", "description": "Get detailed information about a specific Linear team.\n\nSupports lookup by ID, key (like TOO, ENG), or name (with fuzzy matching).", "parameters": [ { @@ -1616,11 +1547,7 @@ "type": "string", "required": false, "description": "How to look up the team. Default is id.", - "enum": [ - "id", - "key", - "name" - ], + "enum": ["id", "key", "name"], "inferrable": true }, { @@ -1635,9 +1562,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1660,7 +1585,7 @@ "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -1673,7 +1598,7 @@ { "name": "LinkGithubToIssue", "qualifiedName": "Linear.LinkGithubToIssue", - "fullyQualifiedName": "Linear.LinkGithubToIssue@3.2.1", + "fullyQualifiedName": "Linear.LinkGithubToIssue@3.2.0", "description": "Link a GitHub PR, commit, or issue to a Linear issue.\n\nAutomatically detects the artifact type from the URL and generates\nan appropriate title if not provided.", "parameters": [ { @@ -1704,9 +1629,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -1719,17 +1642,17 @@ "toolName": "Linear.LinkGithubToIssue", "parameters": { "issue": { - "value": "PROJ-123", + "value": "PROJECT-123", "type": "string", "required": true }, "github_url": { - "value": "https://github.com/octocat/Hello-World/pull/42", + "value": "https://github.com/user/repo/pull/456", "type": "string", "required": true }, "title": { - "value": "GitHub PR #42: Fix README typo", + "value": "Linking PR to Linear Issue", "type": "string", "required": false } @@ -1742,7 +1665,7 @@ { "name": "ListComments", "qualifiedName": "Linear.ListComments", - "fullyQualifiedName": "Linear.ListComments@3.2.1", + "fullyQualifiedName": "Linear.ListComments@3.2.0", "description": "List comments on an issue.\n\nReturns comments with user info, timestamps, and reply threading info.", "parameters": [ { @@ -1773,9 +1696,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1788,17 +1709,17 @@ "toolName": "Linear.ListComments", "parameters": { "issue": { - "value": "ISSUE-123", + "value": "ISSUE-12345", "type": "string", "required": true }, "limit": { - "value": 25, + "value": 20, "type": "integer", "required": false }, "end_cursor": { - "value": "cursor_ABCdef123", + "value": null, "type": "string", "required": false } @@ -1811,7 +1732,7 @@ { "name": "ListCycles", "qualifiedName": "Linear.ListCycles", - "fullyQualifiedName": "Linear.ListCycles@3.2.1", + "fullyQualifiedName": "Linear.ListCycles@3.2.0", "description": "List Linear cycles, optionally filtered by team and status.\n\nCycles are time-boxed iterations (like sprints) for organizing work.", "parameters": [ { @@ -1858,9 +1779,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1873,7 +1792,7 @@ "toolName": "Linear.ListCycles", "parameters": { "team": { - "value": "frontend-team", + "value": "team_123", "type": "string", "required": false }, @@ -1893,7 +1812,7 @@ "required": false }, "end_cursor": { - "value": "cursor_0001aBc", + "value": "abc123", "type": "string", "required": false } @@ -1906,7 +1825,7 @@ { "name": "ListInitiatives", "qualifiedName": "Linear.ListInitiatives", - "fullyQualifiedName": "Linear.ListInitiatives@3.2.1", + "fullyQualifiedName": "Linear.ListInitiatives@3.2.0", "description": "List Linear initiatives, optionally filtered by keywords and other criteria.\n\nReturns all initiatives when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -1952,9 +1871,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -1967,12 +1884,12 @@ "toolName": "Linear.ListInitiatives", "parameters": { "keywords": { - "value": "data migration", + "value": "development", "type": "string", "required": false }, "state": { - "value": "started", + "value": "active", "type": "string", "required": false }, @@ -1982,7 +1899,7 @@ "required": false }, "end_cursor": { - "value": "YXJyYXljb25uZWN0aW9uOjIw", + "value": "abc123", "type": "string", "required": false } @@ -1995,7 +1912,7 @@ { "name": "ListIssues", "qualifiedName": "Linear.ListIssues", - "fullyQualifiedName": "Linear.ListIssues@3.2.1", + "fullyQualifiedName": "Linear.ListIssues@3.2.0", "description": "List Linear issues, optionally filtered by keywords and other criteria.\n\nReturns all issues when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -2035,13 +1952,7 @@ "type": "string", "required": false, "description": "Filter by priority level. Default is None.", - "enum": [ - "none", - "urgent", - "high", - "medium", - "low" - ], + "enum": ["none", "urgent", "high", "medium", "low"], "inferrable": true }, { @@ -2088,9 +1999,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -2103,17 +2012,17 @@ "toolName": "Linear.ListIssues", "parameters": { "keywords": { - "value": "authentication timeout", + "value": "bug fix", "type": "string", "required": false }, "team": { - "value": "Platform", + "value": "development", "type": "string", "required": false }, "state": { - "value": "In Progress", + "value": "in progress", "type": "string", "required": false }, @@ -2123,22 +2032,22 @@ "required": false }, "priority": { - "value": "High", + "value": "high", "type": "string", "required": false }, "label": { - "value": "bug", + "value": "urgent", "type": "string", "required": false }, "project": { - "value": "Mobile Revamp", + "value": "website redesign", "type": "string", "required": false }, "created_after": { - "value": "2026-01-01", + "value": "2023-01-01", "type": "string", "required": false }, @@ -2148,7 +2057,7 @@ "required": false }, "end_cursor": { - "value": "cursor_ABC123", + "value": "abc123", "type": "string", "required": false } @@ -2161,7 +2070,7 @@ { "name": "ListLabels", "qualifiedName": "Linear.ListLabels", - "fullyQualifiedName": "Linear.ListLabels@3.2.1", + "fullyQualifiedName": "Linear.ListLabels@3.2.0", "description": "List available issue labels in the workspace.\n\nReturns labels that can be applied to issues. Use label IDs or names\nwhen creating or updating issues.", "parameters": [ { @@ -2176,9 +2085,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -2191,7 +2098,7 @@ "toolName": "Linear.ListLabels", "parameters": { "limit": { - "value": 25, + "value": 30, "type": "integer", "required": false } @@ -2204,7 +2111,7 @@ { "name": "ListProjectComments", "qualifiedName": "Linear.ListProjectComments", - "fullyQualifiedName": "Linear.ListProjectComments@3.2.1", + "fullyQualifiedName": "Linear.ListProjectComments@3.2.0", "description": "List comments on a project's document content.\n\nReturns comments with user info, timestamps, quoted text for inline comments,\nand reply threading info. Replies are nested under their parent comments.\n\nUse comment_filter to control which comments are returned:\n- only_quoted (default): Only comments attached to a quote in the text\n- only_unquoted: Only comments not attached to a particular quote\n- all: All comments regardless of being attached to a quote or not", "parameters": [ { @@ -2220,11 +2127,7 @@ "type": "string", "required": false, "description": "Filter which comments to return. Default is only_quoted.", - "enum": [ - "only_quoted", - "only_unquoted", - "all" - ], + "enum": ["only_quoted", "only_unquoted", "all"], "inferrable": true }, { @@ -2263,9 +2166,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -2278,12 +2179,12 @@ "toolName": "Linear.ListProjectComments", "parameters": { "project": { - "value": "proj_01F3ZK8Q", + "value": "12345", "type": "string", "required": true }, "comment_filter": { - "value": "all", + "value": "only_unquoted", "type": "string", "required": false }, @@ -2293,17 +2194,17 @@ "required": false }, "limit": { - "value": 30, + "value": 25, "type": "integer", "required": false }, "end_cursor": { - "value": "YXJyYXljb25uZWN0aW9uOjIw", + "value": "abc123", "type": "string", "required": false }, "auto_accept_matches": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -2316,7 +2217,7 @@ { "name": "ListProjects", "qualifiedName": "Linear.ListProjects", - "fullyQualifiedName": "Linear.ListProjects@3.2.1", + "fullyQualifiedName": "Linear.ListProjects@3.2.0", "description": "List Linear projects, optionally filtered by keywords and other criteria.\n\nReturns all projects when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -2371,9 +2272,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -2386,7 +2285,7 @@ "toolName": "Linear.ListProjects", "parameters": { "keywords": { - "value": "authentication", + "value": "development", "type": "string", "required": false }, @@ -2396,22 +2295,22 @@ "required": false }, "team": { - "value": "Platform Team", + "value": "engineering", "type": "string", "required": false }, "created_after": { - "value": "2024-01-01", + "value": "2022-01-01", "type": "string", "required": false }, "limit": { - "value": 25, + "value": 10, "type": "integer", "required": false }, "end_cursor": { - "value": "YXJyYXljb25uZWN0aW9uOjI=", + "value": null, "type": "string", "required": false } @@ -2424,7 +2323,7 @@ { "name": "ListTeams", "qualifiedName": "Linear.ListTeams", - "fullyQualifiedName": "Linear.ListTeams@3.2.1", + "fullyQualifiedName": "Linear.ListTeams@3.2.0", "description": "List Linear teams, optionally filtered by keywords and other criteria.\n\nReturns all teams when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -2471,9 +2370,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -2486,17 +2383,17 @@ "toolName": "Linear.ListTeams", "parameters": { "keywords": { - "value": "frontend", + "value": "development", "type": "string", "required": false }, "include_archived": { - "value": false, + "value": true, "type": "boolean", "required": false }, "created_after": { - "value": "2023-01-01", + "value": "2022-01-01", "type": "string", "required": false }, @@ -2506,7 +2403,7 @@ "required": false }, "end_cursor": { - "value": "cursor_abc123", + "value": "cursor_value_123", "type": "string", "required": false } @@ -2519,7 +2416,7 @@ { "name": "ListWorkflowStates", "qualifiedName": "Linear.ListWorkflowStates", - "fullyQualifiedName": "Linear.ListWorkflowStates@3.2.1", + "fullyQualifiedName": "Linear.ListWorkflowStates@3.2.0", "description": "List available workflow states in the workspace.\n\nReturns workflow states that can be used for issue transitions.\nStates are team-specific and have different types.", "parameters": [ { @@ -2557,9 +2454,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -2572,17 +2467,17 @@ "toolName": "Linear.ListWorkflowStates", "parameters": { "team": { - "value": "backend", + "value": "development", "type": "string", "required": false }, "state_type": { - "value": "started", + "value": "in_progress", "type": "string", "required": false }, "limit": { - "value": 25, + "value": 20, "type": "integer", "required": false } @@ -2595,7 +2490,7 @@ { "name": "ManageIssueSubscription", "qualifiedName": "Linear.ManageIssueSubscription", - "fullyQualifiedName": "Linear.ManageIssueSubscription@3.2.1", + "fullyQualifiedName": "Linear.ManageIssueSubscription@3.2.0", "description": "Subscribe to or unsubscribe from an issue's notifications.", "parameters": [ { @@ -2618,9 +2513,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "issues:create" - ] + "scopes": ["issues:create"] }, "secrets": [], "secretsInfo": [], @@ -2633,7 +2526,7 @@ "toolName": "Linear.ManageIssueSubscription", "parameters": { "issue": { - "value": "ISSUE-12345", + "value": "ISSUE-1234", "type": "string", "required": true }, @@ -2651,7 +2544,7 @@ { "name": "ReplyToComment", "qualifiedName": "Linear.ReplyToComment", - "fullyQualifiedName": "Linear.ReplyToComment@3.2.1", + "fullyQualifiedName": "Linear.ReplyToComment@3.2.0", "description": "Reply to an existing comment on an issue.\n\nCreates a threaded reply to the specified parent comment.", "parameters": [ { @@ -2682,9 +2575,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "comments:create" - ] + "scopes": ["comments:create"] }, "secrets": [], "secretsInfo": [], @@ -2702,12 +2593,12 @@ "required": true }, "parent_comment_id": { - "value": "comment_987654321", + "value": "COMMENT-5678", "type": "string", "required": true }, "body": { - "value": "Thanks for the report — I can reproduce this. I'll investigate and post an update here.\n\nSteps I'll take:\n\n- Reproduce locally\n- Add a unit test\n- Prepare a fix and run CI\n\nCan you confirm which version you were running? Thanks!", + "value": "Thanks for your feedback! I appreciate your insights.", "type": "string", "required": true } @@ -2720,7 +2611,7 @@ { "name": "ReplyToProjectComment", "qualifiedName": "Linear.ReplyToProjectComment", - "fullyQualifiedName": "Linear.ReplyToProjectComment@3.2.1", + "fullyQualifiedName": "Linear.ReplyToProjectComment@3.2.0", "description": "Reply to an existing comment on a project document.\n\nCreates a threaded reply to the specified parent comment.", "parameters": [ { @@ -2759,9 +2650,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "comments:create" - ] + "scopes": ["comments:create"] }, "secrets": [], "secretsInfo": [], @@ -2774,17 +2663,17 @@ "toolName": "Linear.ReplyToProjectComment", "parameters": { "project": { - "value": "acme-project", + "value": "project-123", "type": "string", "required": true }, "parent_comment_id": { - "value": "cmt_1234567890", + "value": "comment-456", "type": "string", "required": true }, "body": { - "value": "Thanks for the update — I reviewed the document and left a few suggestions:\n\n- Clarify the API rate limits section with concrete numbers.\n- Add example responses for 4xx and 5xx error cases.\n- Consider renaming \"payload\" to \"request_body\" for clarity.\n\nIf you'd like, I can apply these edits and add unit test examples.", + "value": "Thanks for your feedback! Here's my response in Markdown: **bold text** and *italic text*.", "type": "string", "required": true }, @@ -2802,7 +2691,7 @@ { "name": "TransitionIssueState", "qualifiedName": "Linear.TransitionIssueState", - "fullyQualifiedName": "Linear.TransitionIssueState@3.2.1", + "fullyQualifiedName": "Linear.TransitionIssueState@3.2.0", "description": "Transition a Linear issue to a new workflow state.\n\nThe target state is validated against the team's available states.", "parameters": [ { @@ -2833,9 +2722,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -2853,12 +2740,12 @@ "required": true }, "target_state": { - "value": "In Review", + "value": "In Progress", "type": "string", "required": true }, "auto_accept_matches": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -2871,7 +2758,7 @@ { "name": "UpdateComment", "qualifiedName": "Linear.UpdateComment", - "fullyQualifiedName": "Linear.UpdateComment@3.2.1", + "fullyQualifiedName": "Linear.UpdateComment@3.2.0", "description": "Update an existing comment.", "parameters": [ { @@ -2894,9 +2781,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -2909,12 +2794,12 @@ "toolName": "Linear.UpdateComment", "parameters": { "comment_id": { - "value": "cmt_01GHTZ5ABCD234XYZ", + "value": "abc123", "type": "string", "required": true }, "body": { - "value": "Updated the comment to clarify the implementation details:\n\n- Fixed typo in function name\n- Added edge case handling for null inputs\n\nPlease review and merge.", + "value": "This is an updated comment with **Markdown** formatting.", "type": "string", "required": true } @@ -2927,7 +2812,7 @@ { "name": "UpdateInitiative", "qualifiedName": "Linear.UpdateInitiative", - "fullyQualifiedName": "Linear.UpdateInitiative@3.2.1", + "fullyQualifiedName": "Linear.UpdateInitiative@3.2.0", "description": "Update a Linear initiative with partial updates.\n\nOnly fields that are explicitly provided will be updated.", "parameters": [ { @@ -2981,9 +2866,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -2996,27 +2879,27 @@ "toolName": "Linear.UpdateInitiative", "parameters": { "initiative_id": { - "value": "init_01F2KZ7ABCDE", + "value": "abc123", "type": "string", "required": true }, "name": { - "value": "Website Redesign Q2", + "value": "Revamp User Interface", "type": "string", "required": false }, "description": { - "value": "Complete redesign of the corporate website to improve conversion rates.\n\n- Update UI/UX\n- Migrate content\n- Optimize performance\n\nDeliverables: new homepage, product pages, and updated blog.", + "value": "### Major overhaul of the current UI\n- Improve accessibility\n- Modernize design", "type": "string", "required": false }, "status": { - "value": "in_progress", + "value": "In Progress", "type": "string", "required": false }, "target_date": { - "value": "2026-06-30", + "value": "2023-12-15", "type": "string", "required": false } @@ -3029,7 +2912,7 @@ { "name": "UpdateIssue", "qualifiedName": "Linear.UpdateIssue", - "fullyQualifiedName": "Linear.UpdateIssue@3.2.1", + "fullyQualifiedName": "Linear.UpdateIssue@3.2.0", "description": "Update a Linear issue with partial updates.\n\nOnly fields that are explicitly provided will be updated. All entity\nreferences are validated before update.", "parameters": [ { @@ -3087,13 +2970,7 @@ "type": "string", "required": false, "description": "New priority. Only updated if provided.", - "enum": [ - "none", - "urgent", - "high", - "medium", - "low" - ], + "enum": ["none", "urgent", "high", "medium", "low"], "inferrable": true }, { @@ -3164,9 +3041,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "issues:create" - ] + "scopes": ["issues:create"] }, "secrets": [], "secretsInfo": [], @@ -3184,12 +3059,12 @@ "required": true }, "title": { - "value": "Fix login redirect loop", + "value": "Update API Documentation", "type": "string", "required": false }, "description": { - "value": "Steps to reproduce:\n1. Go to /login\n2. Enter valid credentials\n3. Submit\n\nExpected: Redirect to dashboard\nActual: Redirect loops back to login\n\nNotes: Likely related to recent auth cookie changes. See attached logs.", + "value": "Please ensure that all endpoints are documented thoroughly. **Markdown** formatting should be used.", "type": "string", "required": false }, @@ -3199,57 +3074,52 @@ "required": false }, "labels_to_add": { - "value": [ - "bug", - "frontend" - ], + "value": ["documentation", "api"], "type": "array", "required": false }, "labels_to_remove": { - "value": [ - "needs-triage" - ], + "value": ["needs review"], "type": "array", "required": false }, "priority": { - "value": "High", + "value": "high", "type": "string", "required": false }, "state": { - "value": "In Progress", + "value": "in progress", "type": "string", "required": false }, "project": { - "value": "Website Redesign", + "value": "API Docs", "type": "string", "required": false }, "cycle": { - "value": "Sprint 12", + "value": "2023-Q4", "type": "string", "required": false }, "estimate": { - "value": 3, + "value": 5, "type": "integer", "required": false }, "due_date": { - "value": "2026-03-15", + "value": "2023-12-01", "type": "string", "required": false }, "attachment_url": { - "value": "https://example.com/logs/login-redirect-2026-02-18.zip", + "value": "https://example.com/documents/api-overview.pdf", "type": "string", "required": false }, "attachment_title": { - "value": "Login redirect logs (2026-02-18)", + "value": "API Overview Document", "type": "string", "required": false }, @@ -3267,7 +3137,7 @@ { "name": "UpdateProject", "qualifiedName": "Linear.UpdateProject", - "fullyQualifiedName": "Linear.UpdateProject@3.2.1", + "fullyQualifiedName": "Linear.UpdateProject@3.2.0", "description": "Update a Linear project with partial updates.\n\nOnly fields that are explicitly provided will be updated. All entity\nreferences are validated before update.\n\nIMPORTANT: Updating the 'content' field will break any existing inline\ncomment anchoring. The comments will still exist and be retrievable via\nlist_project_comments, but they will no longer appear visually anchored\nto text in the Linear UI. The 'description' field can be safely updated\nwithout affecting inline comments.", "parameters": [ { @@ -3371,9 +3241,7 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "write" - ] + "scopes": ["write"] }, "secrets": [], "secretsInfo": [], @@ -3386,57 +3254,52 @@ "toolName": "Linear.UpdateProject", "parameters": { "project_id": { - "value": "proj_frontend_redesign_2026", + "value": "proj-12345", "type": "string", "required": true }, "name": { - "value": "Website Redesign Q2 2026", + "value": "New Project Name", "type": "string", "required": false }, "description": { - "value": "Redesign of the public website landing pages to improve conversion and align with updated brand guidelines.", + "value": "This is a summary of the new project.", "type": "string", "required": false }, "content": { - "value": "# Website Redesign\n\n## Goals\n- Improve conversion on landing pages\n- Refresh visual design to match new brand\n- Ensure responsive experience across devices\n\n## Deliverables\n1. New homepage layout\n2. Updated product pages\n3. Performance optimizations\n\n## Notes\nDesign assets are in the `designs` Figma file. Coordinate release with marketing.", + "value": "# Project Document\n\nThis is the content of the project document.", "type": "string", "required": false }, "state": { - "value": "in_progress", + "value": "active", "type": "string", "required": false }, "lead": { - "value": "jane.doe@example.com", + "value": "lead@example.com", "type": "string", "required": false }, "start_date": { - "value": "2026-04-01", + "value": "2023-10-01", "type": "string", "required": false }, "target_date": { - "value": "2026-06-30", + "value": "2023-12-01", "type": "string", "required": false }, "teams_to_add": { - "value": [ - "frontend-team", - "design-team" - ], + "value": ["team1", "team2"], "type": "array", "required": false }, "teams_to_remove": { - "value": [ - "marketing-team" - ], + "value": ["team3"], "type": "array", "required": false }, @@ -3454,15 +3317,13 @@ { "name": "WhoAmI", "qualifiedName": "Linear.WhoAmI", - "fullyQualifiedName": "Linear.WhoAmI@3.2.1", + "fullyQualifiedName": "Linear.WhoAmI@3.2.0", "description": "Get the authenticated user's profile and team memberships.\n\nReturns the current user's information including their name, email,\norganization, and the teams they belong to.", "parameters": [], "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": [ - "read" - ] + "scopes": ["read"] }, "secrets": [], "secretsInfo": [], @@ -3480,9 +3341,17 @@ } } ], - "documentationChunks": [], + "documentationChunks": [ + { + "type": "markdown", + "location": "custom_section", + "position": "after", + "header": "## Auth", + "content": "## Auth\n\nThe Arcade Linear MCP Server uses the [Linear auth provider](/references/auth-providers/linear) to connect to users' Linear accounts. Please refer to the [Linear auth provider](/references/auth-providers/linear) documentation to learn how to configure auth." + } + ], "customImports": [], "subPages": [], - "generatedAt": "2026-02-18T02:28:22.477Z", + "generatedAt": "2026-01-26T17:37:08.616Z", "summary": "The Linear MCP Server provides a comprehensive set of tools for interacting with Linear's issue tracking, project management, and team collaboration features. With this MCP Server, you can:\n\n- **Issues**: Create, update, search, and manage issues with full support for labels, priorities, assignments, and workflow states\n- **Projects**: Create and manage projects, track milestones, and post status updates\n- **Initiatives**: Manage high-level strategic goals and link projects to initiatives\n- **Teams**: Access team information and member details\n- **Cycles**: Work with time-boxed iterations (sprints) for organizing work\n- **Comments**: Add, update, and reply to comments on issues\n- **GitHub Integration**: Link GitHub PRs, commits, and issues to Linear issues\n- **User Context**: Access notifications, recent activity, and authenticated user information" -} \ No newline at end of file +} diff --git a/toolkit-docs-generator/data/toolkits/sharepoint.json b/toolkit-docs-generator/data/toolkits/sharepoint.json index 9e53386ec..35c9c1569 100644 --- a/toolkit-docs-generator/data/toolkits/sharepoint.json +++ b/toolkit-docs-generator/data/toolkits/sharepoint.json @@ -1,7 +1,7 @@ { "id": "Sharepoint", "label": "Microsoft SharePoint", - "version": "0.7.0", + "version": "0.4.1", "description": "Arcade.dev LLM tools for Microsoft SharePoint", "metadata": { "category": "productivity", @@ -9,928 +9,27 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/sharepoint", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/sharepoint", "isComingSoon": false, "isHidden": false }, "auth": { "type": "oauth2", "providerId": "microsoft", - "allScopes": [ - "Sites.Read.All", - "Sites.ReadWrite.All", - "User.Read" - ] + "allScopes": ["Sites.Read.All", "User.Read"] }, "tools": [ - { - "name": "CopyItem", - "qualifiedName": "Sharepoint.CopyItem", - "fullyQualifiedName": "Sharepoint.CopyItem@0.7.0", - "description": "Copy a file or folder. Returns a completed item or an operation id.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the drive where the item lives.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The ID of the item to copy.", - "enum": null, - "inferrable": true - }, - { - "name": "destination_folder_id", - "type": "string", - "required": false, - "description": "Optional destination folder ID. If omitted, the item is copied to the same folder.", - "enum": null, - "inferrable": true - }, - { - "name": "new_name", - "type": "string", - "required": false, - "description": "Optional new name for the copied item.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "Copy status and result." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.CopyItem", - "parameters": { - "drive_id": { - "value": "b!01234567-89ab-cdef-0123-456789abcdef", - "type": "string", - "required": true - }, - "item_id": { - "value": "01A2B3C4D5E6F7G8H9I0J", - "type": "string", - "required": true - }, - "destination_folder_id": { - "value": "f!89abcdef-0123-4567-89ab-cdef01234567", - "type": "string", - "required": false - }, - "new_name": { - "value": "Project Plan - Copy.docx", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateFolder", - "qualifiedName": "Sharepoint.CreateFolder", - "fullyQualifiedName": "Sharepoint.CreateFolder@0.7.0", - "description": "Create a new folder in a SharePoint drive.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the drive where the folder will be created.", - "enum": null, - "inferrable": true - }, - { - "name": "folder_name", - "type": "string", - "required": true, - "description": "The name of the new folder.", - "enum": null, - "inferrable": true - }, - { - "name": "parent_folder_id", - "type": "string", - "required": false, - "description": "Optional parent folder ID. If omitted, creates in the drive root.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The created folder metadata." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.CreateFolder", - "parameters": { - "drive_id": { - "value": "b!7f8e9d0c1b2a3e4f5g6", - "type": "string", - "required": true - }, - "folder_name": { - "value": "Project Documents", - "type": "string", - "required": true - }, - "parent_folder_id": { - "value": "01ABCD2345EFGH6789IJ", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreatePresentation", - "qualifiedName": "Sharepoint.CreatePresentation", - "fullyQualifiedName": "Sharepoint.CreatePresentation@0.7.0", - "description": "Create a new PowerPoint presentation in a SharePoint drive.\n\nThe presentation will be created with a title slide containing the specified title.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the SharePoint drive to create the presentation in.", - "enum": null, - "inferrable": true - }, - { - "name": "title", - "type": "string", - "required": true, - "description": "The title for the new presentation.", - "enum": null, - "inferrable": true - }, - { - "name": "folder_id", - "type": "string", - "required": false, - "description": "The ID of the folder to create the presentation in. If not provided, the presentation will be created in the root of the drive.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The created presentation details." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.CreatePresentation", - "parameters": { - "drive_id": { - "value": "d1f5c3a2-4b6e-7f89-0abc-1def23456789", - "type": "string", - "required": true - }, - "title": { - "value": "Q2 2026 Product Roadmap Presentation", - "type": "string", - "required": true - }, - "folder_id": { - "value": "f3e2d1c4-5b6a-7c8d-9e0f-1234567890ab", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateShareLink", - "qualifiedName": "Sharepoint.CreateShareLink", - "fullyQualifiedName": "Sharepoint.CreateShareLink@0.7.0", - "description": "Create a share link for a SharePoint drive item.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the drive where the item lives.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The ID of the file or folder to share.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "Sharing link information." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.CreateShareLink", - "parameters": { - "drive_id": { - "value": "b!e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b", - "type": "string", - "required": true - }, - "item_id": { - "value": "01a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateSlide", - "qualifiedName": "Sharepoint.CreateSlide", - "fullyQualifiedName": "Sharepoint.CreateSlide@0.7.0", - "description": "Append a new slide to the end of an existing PowerPoint presentation in a SharePoint drive.\n\nThe slide will be added at the end of the presentation. Both title and body\nare optional to support layouts like BLANK or TITLE_ONLY.\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the SharePoint drive containing the presentation.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The ID of the PowerPoint presentation to add a slide to.", - "enum": null, - "inferrable": true - }, - { - "name": "slide_title", - "type": "string", - "required": false, - "description": "The title for the new slide. Optional for layouts like BLANK.", - "enum": null, - "inferrable": true - }, - { - "name": "slide_body", - "type": "string", - "required": false, - "description": "The body content for the new slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting). Optional for layouts like TITLE_ONLY or BLANK.", - "enum": null, - "inferrable": true - }, - { - "name": "layout", - "type": "string", - "required": false, - "description": "The layout to use for the slide. For TWO_CONTENT layout, use create_two_content_slide.", - "enum": [ - "TITLE", - "TITLE_AND_CONTENT", - "SECTION_HEADER", - "TITLE_ONLY", - "BLANK", - "CONTENT_WITH_CAPTION", - "PICTURE_WITH_CAPTION", - "TITLE_AND_VERTICAL_TEXT", - "VERTICAL_TITLE_AND_TEXT" - ], - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The updated presentation details with new slide info." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.CreateSlide", - "parameters": { - "drive_id": { - "value": "b1a2c3d4-e5f6-47a8-9b0c-1234567890ab", - "type": "string", - "required": true - }, - "item_id": { - "value": "0a1b2c3d-4e5f-6789-0abc-def123456789", - "type": "string", - "required": true - }, - "slide_title": { - "value": "Quarterly Results — Q4 2025", - "type": "string", - "required": false - }, - "slide_body": { - "value": "**Highlights:**\n\n- Revenue increased by **12%** year-over-year\n - North America: *8%*\n - EMEA: *4%*\n- Product launch: **Nova**\n\n__Action Items:__\n- Finalize investor deck\n- Schedule follow-up meeting", - "type": "string", - "required": false - }, - "layout": { - "value": "TITLE_AND_CONTENT", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateTwoContentSlide", - "qualifiedName": "Sharepoint.CreateTwoContentSlide", - "fullyQualifiedName": "Sharepoint.CreateTwoContentSlide@0.7.0", - "description": "Append a TWO_CONTENT slide with side-by-side content areas to the end of a SharePoint PowerPoint.\n\nThis layout is useful for comparisons, pros/cons lists, or any content that\nbenefits from a two-column layout.\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the SharePoint drive containing the presentation.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The ID of the PowerPoint presentation to add a slide to.", - "enum": null, - "inferrable": true - }, - { - "name": "slide_title", - "type": "string", - "required": false, - "description": "The title for the new slide.", - "enum": null, - "inferrable": true - }, - { - "name": "left_body", - "type": "string", - "required": false, - "description": "Content for the left side of the slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting).", - "enum": null, - "inferrable": true - }, - { - "name": "right_body", - "type": "string", - "required": false, - "description": "Content for the right side of the slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting).", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The updated presentation details with new slide info." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.CreateTwoContentSlide", - "parameters": { - "drive_id": { - "value": "b1a2c3d4-e5f6-7890-ab12-cd34ef56ab78", - "type": "string", - "required": true - }, - "item_id": { - "value": "3f2e1d0c-9b8a-7f6e-5d4c-3b2a1e0f9d8c", - "type": "string", - "required": true - }, - "slide_title": { - "value": "Comparison: Solution A vs Solution B", - "type": "string", - "required": false - }, - "left_body": { - "value": "**Key benefits**\n- Faster performance\n- Lower cost\n - Reduced maintenance\n- Scalable", - "type": "string", - "required": false - }, - "right_body": { - "value": "**Considerations**\n- Initial setup\n- Training required\n - Documentation and workshops\n- Integration effort", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateWordDocument", - "qualifiedName": "Sharepoint.CreateWordDocument", - "fullyQualifiedName": "Sharepoint.CreateWordDocument@0.7.0", - "description": "Create a new Word document in a SharePoint drive (4MB upload limit). Optionally include text content.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the SharePoint drive to create the document in.", - "enum": null, - "inferrable": true - }, - { - "name": "title", - "type": "string", - "required": true, - "description": "File name without extension, or with .docx. The .docx extension is normalized.", - "enum": null, - "inferrable": true - }, - { - "name": "text_content", - "type": "string", - "required": false, - "description": "Optional text content to include in the new document. If omitted, an empty document is created.", - "enum": null, - "inferrable": true - }, - { - "name": "folder_id", - "type": "string", - "required": false, - "description": "Optional parent folder DriveItem ID. If omitted, the document is created in the root.", - "enum": null, - "inferrable": true - }, - { - "name": "conflict_behavior", - "type": "string", - "required": false, - "description": "Optional conflict behavior when a file with the same name exists. One of: fail, rename, replace.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The created Word document metadata." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.CreateWordDocument", - "parameters": { - "drive_id": { - "value": "b1a2c3d4-5e6f-7a8b-9c0d-e1f2a3b4c5d6", - "type": "string", - "required": true - }, - "title": { - "value": "Project Plan.docx", - "type": "string", - "required": true - }, - "text_content": { - "value": "Meeting Agenda:\n1. Review milestones\n2. Assign action items\n3. Timeline and next steps\n\nNotes:\n- Prepare budget estimates\n- Follow up with stakeholders", - "type": "string", - "required": false - }, - "folder_id": { - "value": "9f8e7d6c-5b4a-3c2d-1e0f-a9b8c7d6e5f4", - "type": "string", - "required": false - }, - "conflict_behavior": { - "value": "rename", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteItem", - "qualifiedName": "Sharepoint.DeleteItem", - "fullyQualifiedName": "Sharepoint.DeleteItem@0.7.0", - "description": "Delete a file or folder from a SharePoint drive.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the drive where the item lives.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The ID of the file or folder to delete.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "Deletion confirmation." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.DeleteItem", - "parameters": { - "drive_id": { - "value": "b!9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d", - "type": "string", - "required": true - }, - "item_id": { - "value": "01A2B3C4D5E6F7G8H9I0J!123456789", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetAllSlideNotes", - "qualifiedName": "Sharepoint.GetAllSlideNotes", - "fullyQualifiedName": "Sharepoint.GetAllSlideNotes@0.7.0", - "description": "Get all speaker notes from every slide in a SharePoint PowerPoint presentation.\n\nReturns notes for all slides in one call, which is more efficient than\ncalling get_slide_notes for each slide individually. Notes are returned\nin markdown format.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the SharePoint drive containing the presentation.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The ID of the PowerPoint presentation.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "All speaker notes from the presentation." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.GetAllSlideNotes", - "parameters": { - "drive_id": { - "value": "b!gZx2Y7kQ9mT5nR1sU6", - "type": "string", - "required": true - }, - "item_id": { - "value": "01A234BC567D8E9F!345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCopyStatus", - "qualifiedName": "Sharepoint.GetCopyStatus", - "fullyQualifiedName": "Sharepoint.GetCopyStatus@0.7.0", - "description": "Check status of an async copy operation using the full monitor URL.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the drive where the copy operation runs.", - "enum": null, - "inferrable": true - }, - { - "name": "operation_url", - "type": "string", - "required": true, - "description": "The full monitor URL returned by copy_item (Location/Operation-Location header). DO NOT PROVIDE ONLY THE OPERATION ID, BUT THE FULL URL.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "Copy operation status." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.GetCopyStatus", - "parameters": { - "drive_id": { - "value": "b!1a2B3cD4eF5Gh6Ijk", - "type": "string", - "required": true - }, - "operation_url": { - "value": "https://graph.microsoft.com/v1.0/drives/b!1a2B3cD4eF5Gh6Ijk/items/0123456789ABCDEF/copy/operationStatuses/8a9f0b1c-2d3e-4f5a-9b0c-1234567890ab", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, { "name": "GetDrivesFromSite", "qualifiedName": "Sharepoint.GetDrivesFromSite", - "fullyQualifiedName": "Sharepoint.GetDrivesFromSite@0.7.0", + "fullyQualifiedName": "Sharepoint.GetDrivesFromSite@0.4.1", "description": "Retrieve drives / document libraries from a SharePoint site.\n\nIf you have a site name, it is not necessary to call Sharepoint.SearchSites first. You can simply\ncall this tool with the site name / keywords.", "parameters": [ { - "name": "site", - "type": "string", - "required": true, - "description": "Site ID, SharePoint URL, or site name to get drives from. Prefer using a site ID whenever available for optimal performance.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The drives from the SharePoint site." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.GetDrivesFromSite", - "parameters": { - "site": { - "value": "https://contoso.sharepoint.com/sites/Marketing", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetItemsFromList", - "qualifiedName": "Sharepoint.GetItemsFromList", - "fullyQualifiedName": "Sharepoint.GetItemsFromList@0.7.0", - "description": "Retrieve items from a list in a SharePoint site.\n\nNote: The Microsoft Graph API does not offer endpoints to retrieve list item attachments.\nBecause of that, the only information we can get is whether the item has attachments or not.", - "parameters": [ - { - "name": "site", - "type": "string", - "required": true, - "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", - "enum": null, - "inferrable": true - }, - { - "name": "list_id", - "type": "string", - "required": true, - "description": "The ID of the list to get items from.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The SharePoint list items." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.GetItemsFromList", - "parameters": { - "site": { - "value": "site-id-12345", - "type": "string", - "required": true - }, - "list_id": { - "value": "list-id-67890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetListsFromSite", - "qualifiedName": "Sharepoint.GetListsFromSite", - "fullyQualifiedName": "Sharepoint.GetListsFromSite@0.7.0", - "description": "Retrieve lists from a SharePoint site.", - "parameters": [ - { - "name": "site", - "type": "string", - "required": true, - "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The SharePoint site lists." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.GetListsFromSite", - "parameters": { - "site": { - "value": "https://contoso.sharepoint.com/sites/Marketing", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetPage", - "qualifiedName": "Sharepoint.GetPage", - "fullyQualifiedName": "Sharepoint.GetPage@0.7.0", - "description": "Retrieve metadata and the contents of a page in a SharePoint site.\n\nPage content is a list of Microsoft Sharepoint web part objects, such as text, images, banners,\nbuttons, etc.\n\nIf `include_page_content` is set to False, the tool will return only the page metadata.", - "parameters": [ - { - "name": "site", - "type": "string", - "required": true, - "description": "Site ID, SharePoint URL, or site name to retrieve base pages from. Prefer using a site ID whenever available for optimal performance", - "enum": null, - "inferrable": true - }, - { - "name": "page_id", - "type": "string", - "required": true, - "description": "The ID of the page to retrieve.", - "enum": null, - "inferrable": true - }, - { - "name": "include_page_content", - "type": "boolean", - "required": false, - "description": "Whether to include the page content in the response. Defaults to True. If set to False, the tool will return only the page metadata.", + "name": "site", + "type": "string", + "required": true, + "description": "Site ID, SharePoint URL, or site name to get drives from. Prefer using a site ID whenever available for optimal performance.", "enum": null, "inferrable": true } @@ -938,34 +37,22 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The page from the SharePoint site." + "description": "The drives from the SharePoint site." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetPage", + "toolName": "Sharepoint.GetDrivesFromSite", "parameters": { "site": { - "value": "site-12345", - "type": "string", - "required": true - }, - "page_id": { - "value": "page-67890", + "value": "https://contoso.sharepoint.com/sites/Marketing", "type": "string", "required": true - }, - "include_page_content": { - "value": true, - "type": "boolean", - "required": false } }, "requiresAuth": true, @@ -974,24 +61,24 @@ } }, { - "name": "GetPresentationAsMarkdown", - "qualifiedName": "Sharepoint.GetPresentationAsMarkdown", - "fullyQualifiedName": "Sharepoint.GetPresentationAsMarkdown@0.7.0", - "description": "Get the content of a PowerPoint presentation stored in a SharePoint drive as markdown.\n\nThis tool downloads the presentation and converts it to a markdown representation,\npreserving text content, tables, and chart data. Images and other media are\nrepresented as placeholders.", + "name": "GetItemsFromList", + "qualifiedName": "Sharepoint.GetItemsFromList", + "fullyQualifiedName": "Sharepoint.GetItemsFromList@0.4.1", + "description": "Retrieve items from a list in a SharePoint site.\n\nNote: The Microsoft Graph API does not offer endpoints to retrieve list item attachments.\nBecause of that, the only information we can get is whether the item has attachments or not.", "parameters": [ { - "name": "drive_id", + "name": "site", "type": "string", "required": true, - "description": "The ID of the SharePoint drive containing the presentation.", + "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", "enum": null, "inferrable": true }, { - "name": "item_id", + "name": "list_id", "type": "string", "required": true, - "description": "The ID of the PowerPoint presentation to read.", + "description": "The ID of the list to get items from.", "enum": null, "inferrable": true } @@ -999,27 +86,25 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The presentation content as markdown." + "description": "The SharePoint list items." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetPresentationAsMarkdown", + "toolName": "Sharepoint.GetItemsFromList", "parameters": { - "drive_id": { - "value": "b!a1b2c3d4e5f6g7h8i9j0k", + "site": { + "value": "site-id-12345", "type": "string", "required": true }, - "item_id": { - "value": "01ABCDEF-1234-5678-90AB-CDEF12345678", + "list_id": { + "value": "list-id-67890", "type": "string", "required": true } @@ -1030,16 +115,16 @@ } }, { - "name": "GetSite", - "qualifiedName": "Sharepoint.GetSite", - "fullyQualifiedName": "Sharepoint.GetSite@0.7.0", - "description": "Retrieve information about a specific SharePoint site by its ID, URL, or name.", + "name": "GetListsFromSite", + "qualifiedName": "Sharepoint.GetListsFromSite", + "fullyQualifiedName": "Sharepoint.GetListsFromSite@0.4.1", + "description": "Retrieve lists from a SharePoint site.", "parameters": [ { "name": "site", "type": "string", "required": true, - "description": "Site ID, SharePoint URL, or site name to search for.", + "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", "enum": null, "inferrable": true } @@ -1047,93 +132,22 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The SharePoint site information." + "description": "The SharePoint site lists." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetSite", + "toolName": "Sharepoint.GetListsFromSite", "parameters": { "site": { - "value": "https://example.sharepoint.com/sites/ProjectX", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetSlideNotes", - "qualifiedName": "Sharepoint.GetSlideNotes", - "fullyQualifiedName": "Sharepoint.GetSlideNotes@0.7.0", - "description": "Get the speaker notes from a specific slide in a SharePoint PowerPoint presentation.\n\nSpeaker notes are returned in markdown format, preserving basic formatting\nlike bold, italic, and bullet points.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the SharePoint drive containing the presentation.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The ID of the PowerPoint presentation.", - "enum": null, - "inferrable": true - }, - { - "name": "slide_index", - "type": "integer", - "required": true, - "description": "The 1-based index of the slide to get notes from.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The speaker notes for the specified slide." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.GetSlideNotes", - "parameters": { - "drive_id": { - "value": "d7f8a9b0-1234-4cde-9876-abcdef123456", - "type": "string", - "required": true - }, - "item_id": { - "value": "3c9a2f10-5678-4bcd-9012-abcdef789012", + "value": "https://contoso.sharepoint.com/sites/Marketing", "type": "string", "required": true - }, - "slide_index": { - "value": 3, - "type": "integer", - "required": true } }, "requiresAuth": true, @@ -1142,32 +156,32 @@ } }, { - "name": "GetWordDocument", - "qualifiedName": "Sharepoint.GetWordDocument", - "fullyQualifiedName": "Sharepoint.GetWordDocument@0.7.0", - "description": "Get a Word document's metadata and content from a SharePoint drive (supports only `.docx`). Returns the document content as Markdown by default, or just metadata when metadata_only is True.", + "name": "GetPage", + "qualifiedName": "Sharepoint.GetPage", + "fullyQualifiedName": "Sharepoint.GetPage@0.4.1", + "description": "Retrieve metadata and the contents of a page in a SharePoint site.\n\nPage content is a list of Microsoft Sharepoint web part objects, such as text, images, banners,\nbuttons, etc.\n\nIf `include_page_content` is set to False, the tool will return only the page metadata.", "parameters": [ { - "name": "drive_id", + "name": "site", "type": "string", "required": true, - "description": "The ID of the SharePoint drive containing the document.", + "description": "Site ID, SharePoint URL, or site name to retrieve base pages from. Prefer using a site ID whenever available for optimal performance", "enum": null, "inferrable": true }, { - "name": "item_id", + "name": "page_id", "type": "string", "required": true, - "description": "The DriveItem ID of the Word document.", + "description": "The ID of the page to retrieve.", "enum": null, "inferrable": true }, { - "name": "metadata_only", + "name": "include_page_content", "type": "boolean", "required": false, - "description": "If True, return only the document metadata without downloading the content. Defaults to False.", + "description": "Whether to include the page content in the response. Defaults to True. If set to False, the tool will return only the page metadata.", "enum": null, "inferrable": true } @@ -1175,32 +189,30 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The Word document metadata and optionally its content." + "description": "The page from the SharePoint site." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetWordDocument", + "toolName": "Sharepoint.GetPage", "parameters": { - "drive_id": { - "value": "b!a1b2c3d4e5f6g7h8i9j0k", + "site": { + "value": "site-12345", "type": "string", "required": true }, - "item_id": { - "value": "01ABCDEFGH123456789!101", + "page_id": { + "value": "page-67890", "type": "string", "required": true }, - "metadata_only": { - "value": false, + "include_page_content": { + "value": true, "type": "boolean", "required": false } @@ -1211,32 +223,16 @@ } }, { - "name": "InsertTextAtEndOfWordDocument", - "qualifiedName": "Sharepoint.InsertTextAtEndOfWordDocument", - "fullyQualifiedName": "Sharepoint.InsertTextAtEndOfWordDocument@0.7.0", - "description": "Append text to the end of an existing Word document.\n\nThis tool only supports files with the `.docx` extension and enforces the 4MB limit.", + "name": "GetSite", + "qualifiedName": "Sharepoint.GetSite", + "fullyQualifiedName": "Sharepoint.GetSite@0.4.1", + "description": "Retrieve information about a specific SharePoint site by its ID, URL, or name.", "parameters": [ { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the SharePoint drive containing the document.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The DriveItem ID of the Word document.", - "enum": null, - "inferrable": true - }, - { - "name": "text_content", + "name": "site", "type": "string", "required": true, - "description": "The text content to append to the document.", + "description": "Site ID, SharePoint URL, or site name to search for.", "enum": null, "inferrable": true } @@ -1244,32 +240,20 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The updated Word document metadata." + "description": "The SharePoint site information." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.InsertTextAtEndOfWordDocument", + "toolName": "Sharepoint.GetSite", "parameters": { - "drive_id": { - "value": "b!a1b2c3d4e5f6g7h8i9j0", - "type": "string", - "required": true - }, - "item_id": { - "value": "01A2B3C4D5E6F7G8H9I0J", - "type": "string", - "required": true - }, - "text_content": { - "value": "Append this paragraph to the end of the document.\n\nSummary:\n- Updated project timeline\n- Added action items\nPlease confirm and save.", + "site": { + "value": "https://example.sharepoint.com/sites/ProjectX", "type": "string", "required": true } @@ -1282,7 +266,7 @@ { "name": "ListItemsInFolder", "qualifiedName": "Sharepoint.ListItemsInFolder", - "fullyQualifiedName": "Sharepoint.ListItemsInFolder@0.7.0", + "fullyQualifiedName": "Sharepoint.ListItemsInFolder@0.4.1", "description": "Retrieve items from a folder in a drive in a SharePoint site.\n\nNote: Due to how the Microsoft Graph API is designed, we have to retrieve all items, including the ones\nskipped by offset. For this reason, the tool execution time tends to increase with the offset value.", "parameters": [ { @@ -1321,9 +305,7 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], @@ -1364,7 +346,7 @@ { "name": "ListPages", "qualifiedName": "Sharepoint.ListPages", - "fullyQualifiedName": "Sharepoint.ListPages@0.7.0", + "fullyQualifiedName": "Sharepoint.ListPages@0.4.1", "description": "Retrieve pages from a SharePoint site.\n\nThe Microsoft Graph API does not support pagination on this endpoint.", "parameters": [ { @@ -1387,9 +369,7 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], @@ -1420,7 +400,7 @@ { "name": "ListRootItemsInDrive", "qualifiedName": "Sharepoint.ListRootItemsInDrive", - "fullyQualifiedName": "Sharepoint.ListRootItemsInDrive@0.7.0", + "fullyQualifiedName": "Sharepoint.ListRootItemsInDrive@0.4.1", "description": "Retrieve items from the root of a drive in a SharePoint site.\n\nNote: Due to how the Microsoft Graph API is designed, we have to retrieve all items, including the ones\nskipped by offset. For this reason, the tool execution time tends to increase with the offset value.", "parameters": [ { @@ -1451,9 +431,7 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], @@ -1489,7 +467,7 @@ { "name": "ListSites", "qualifiedName": "Sharepoint.ListSites", - "fullyQualifiedName": "Sharepoint.ListSites@0.7.0", + "fullyQualifiedName": "Sharepoint.ListSites@0.4.1", "description": "List all SharePoint sites accessible to the current user.", "parameters": [ { @@ -1512,9 +490,7 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], @@ -1542,79 +518,10 @@ "tabLabel": "Call the Tool with User Authorization" } }, - { - "name": "MoveItem", - "qualifiedName": "Sharepoint.MoveItem", - "fullyQualifiedName": "Sharepoint.MoveItem@0.7.0", - "description": "Move a file or folder to a new location in a SharePoint drive.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the drive where the item lives.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The ID of the item to move.", - "enum": null, - "inferrable": true - }, - { - "name": "new_parent_id", - "type": "string", - "required": true, - "description": "The ID of the destination folder.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The updated item metadata." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.MoveItem", - "parameters": { - "drive_id": { - "value": "b!a1b2c3d4-e5f6-7890-abcd-ef1234567890", - "type": "string", - "required": true - }, - "item_id": { - "value": "01ABCDEF23456789!123", - "type": "string", - "required": true - }, - "new_parent_id": { - "value": "01ABCDEF23456789!456", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, { "name": "SearchDriveItems", "qualifiedName": "Sharepoint.SearchDriveItems", - "fullyQualifiedName": "Sharepoint.SearchDriveItems@0.7.0", + "fullyQualifiedName": "Sharepoint.SearchDriveItems@0.4.1", "description": "Search for items in one or more Sharepoint drives.\n\nNote: when searching within a single Drive and/or Folder, due to how the Microsoft Graph API is designed,\nwe have to retrieve all items, including the ones skipped by offset. For this reason, the tool execution\ntime tends to increase with the offset value.", "parameters": [ { @@ -1661,9 +568,7 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], @@ -1709,7 +614,7 @@ { "name": "SearchSites", "qualifiedName": "Sharepoint.SearchSites", - "fullyQualifiedName": "Sharepoint.SearchSites@0.7.0", + "fullyQualifiedName": "Sharepoint.SearchSites@0.4.1", "description": "Search for SharePoint sites by name or description.\n\nIn case you need to retrieve a specific site by its name, ID or SharePoint URL, use the\n`Sharepoint.GetSite` tool instead, passing the ID, name or SharePoint URL to it. If you use\nthe `Sharepoint.SearchSites` tool to retrieve a single site by its name, too much CO2 will be\nreleased in the atmosphere and you will contribute to catastrophic climate change.", "parameters": [ { @@ -1740,9 +645,7 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "Sites.Read.All" - ] + "scopes": ["Sites.Read.All"] }, "secrets": [], "secretsInfo": [], @@ -1775,100 +678,16 @@ "tabLabel": "Call the Tool with User Authorization" } }, - { - "name": "SetSlideNotes", - "qualifiedName": "Sharepoint.SetSlideNotes", - "fullyQualifiedName": "Sharepoint.SetSlideNotes@0.7.0", - "description": "Set or update the speaker notes on a specific slide in a SharePoint PowerPoint.\n\nNotes can be formatted using markdown:\n- **bold** for bold text\n- *italic* for italic text\n- __underline__ for underlined text\n- Lines starting with - or * become bullet points\n- Indent with spaces for nested bullets\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", - "parameters": [ - { - "name": "drive_id", - "type": "string", - "required": true, - "description": "The ID of the SharePoint drive containing the presentation.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": true, - "description": "The ID of the PowerPoint presentation.", - "enum": null, - "inferrable": true - }, - { - "name": "slide_index", - "type": "integer", - "required": true, - "description": "The 1-based index of the slide to set notes on.", - "enum": null, - "inferrable": true - }, - { - "name": "notes", - "type": "string", - "required": true, - "description": "The speaker notes in markdown format. Supports **bold**, *italic*, __underline__, and bullet points (- or *).", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Sites.ReadWrite.All" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "Confirmation of the notes update." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Sharepoint.SetSlideNotes", - "parameters": { - "drive_id": { - "value": "b!xYz12345abcdefGHIJKLMnoPQRstuV", - "type": "string", - "required": true - }, - "item_id": { - "value": "01ABCD2EFG345HIJK678LMN9OPQRST", - "type": "string", - "required": true - }, - "slide_index": { - "value": 3, - "type": "integer", - "required": true - }, - "notes": { - "value": "**Overview**\n\n- *Key point 1*\n- **Key point 2**\n - Subpoint A\n - Subpoint B\n\nPlease review __pricing slide__ and update the numbers before the next review.", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - } - }, { "name": "WhoAmI", "qualifiedName": "Sharepoint.WhoAmI", - "fullyQualifiedName": "Sharepoint.WhoAmI@0.7.0", + "fullyQualifiedName": "Sharepoint.WhoAmI@0.4.1", "description": "Get information about the current user and their SharePoint environment.", "parameters": [], "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": [ - "User.Read" - ] + "scopes": ["User.Read"] }, "secrets": [], "secretsInfo": [], @@ -1896,6 +715,6 @@ ], "customImports": [], "subPages": [], - "generatedAt": "2026-02-18T02:28:06.736Z", - "summary": "Arcade toolkit for Microsoft SharePoint provides LLM-powered helpers to interact with SharePoint via Microsoft Graph, enabling programmatic management of sites, drives, documents, pages, and presentations from natural language. It streamlines file operations, content extraction, and slide/document manipulation for automation and tooling.\n\n## Capabilities\n- Unified content CRUD and batch operations for files, folders, lists, pages, and documents, including copy/move/delete and resumable uploads for large files.\n- Convert and extract content (presentations, Word, page webparts) to Markdown and manage speaker notes programmatically.\n- Search, discover, and enumerate sites, drives, lists, pages, and items with pagination-aware retrieval.\n- Create share links, monitor async operations, and retrieve current user and environment context.\n\n## OAuth\nProvider: microsoft\nScopes: Sites.Read.All, Sites.ReadWrite.All, User.Read" -} \ No newline at end of file + "generatedAt": "2026-01-26T17:41:02.555Z", + "summary": "Arcade.dev's SharePoint toolkit enables seamless integration with Microsoft SharePoint, enhancing productivity through advanced LLM tools. This toolkit provides developers with the capability to efficiently manage and retrieve information across various SharePoint resources.\n\n## Capabilities\n- Retrieve site, list, and drive information seamlessly.\n- Access and manage page content and associated metadata.\n- Execute specific searches for items within drives and sites.\n- Identify and list all accessible SharePoint sites for users.\n\n## OAuth\n**Provider:** Microsoft \n**Scopes:** Sites.Read.All, User.Read\n\n## Secrets\nNo secret types or names are required for this toolkit." +} diff --git a/toolkit-docs-generator/data/toolkits/slack.json b/toolkit-docs-generator/data/toolkits/slack.json index fe2fc387a..d704c970b 100644 --- a/toolkit-docs-generator/data/toolkits/slack.json +++ b/toolkit-docs-generator/data/toolkits/slack.json @@ -1,7 +1,7 @@ { "id": "Slack", "label": "Slack", - "version": "2.1.0", + "version": "2.0.0", "description": "Arcade.dev LLM tools for Slack", "metadata": { "category": "social", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/social-communication/slack", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/social-communication/slack", "isComingSoon": false, "isHidden": false }, @@ -19,11 +19,9 @@ "allScopes": [ "channels:history", "channels:read", - "channels:write", "chat:write", "groups:history", "groups:read", - "groups:write", "im:history", "im:read", "im:write", @@ -37,7 +35,7 @@ { "name": "GetConversationMetadata", "qualifiedName": "Slack.GetConversationMetadata", - "fullyQualifiedName": "Slack.GetConversationMetadata@2.1.0", + "fullyQualifiedName": "Slack.GetConversationMetadata@2.0.0", "description": "Get metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation.\n\nUse this tool to retrieve metadata about a conversation with a conversation_id, a channel name,\nor by the user_id(s), username(s), and/or email(s) of the user(s) in the conversation.\n\nThis tool does not return the messages in a conversation. To get the messages, use the\n'Slack.GetMessages' tool instead.\n\nProvide exactly one of:\n- conversation_id; or\n- channel_name; or\n- any combination of user_ids, usernames, and/or emails.", "parameters": [ { @@ -112,22 +110,22 @@ "required": false }, "channel_name": { - "value": null, + "value": "general", "type": "string", "required": false }, "usernames": { - "value": null, + "value": ["john_doe", "jane_smith"], "type": "array", "required": false }, "emails": { - "value": null, + "value": ["john@example.com", "jane@example.com"], "type": "array", "required": false }, "user_ids": { - "value": null, + "value": ["U123456", "U098765"], "type": "array", "required": false } @@ -140,7 +138,7 @@ { "name": "GetMessages", "qualifiedName": "Slack.GetMessages", - "fullyQualifiedName": "Slack.GetMessages@2.1.0", + "fullyQualifiedName": "Slack.GetMessages@2.0.0", "description": "Get messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation.\n\nProvide exactly one of:\n- conversation_id; or\n- channel_name; or\n- any combination of user_ids, usernames, and/or emails.\n\nTo filter messages by an absolute datetime, use 'oldest_datetime' and/or 'latest_datetime'. If\nonly 'oldest_datetime' is provided, it will return messages from the oldest_datetime to the\ncurrent time. If only 'latest_datetime' is provided, it will return messages since the\nbeginning of the conversation to the latest_datetime.\n\nTo filter messages by a relative datetime (e.g. 3 days ago, 1 hour ago, etc.), use\n'oldest_relative' and/or 'latest_relative'. If only 'oldest_relative' is provided, it will\nreturn messages from the oldest_relative to the current time. If only 'latest_relative' is\nprovided, it will return messages from the current time to the latest_relative.\n\nDo not provide both 'oldest_datetime' and 'oldest_relative' or both 'latest_datetime' and\n'latest_relative'.\n\nLeave all arguments with the default None to get messages without date/time filtering", "parameters": [ { @@ -262,7 +260,7 @@ "toolName": "Slack.GetMessages", "parameters": { "conversation_id": { - "value": "C0123456789", + "value": "C1234567890", "type": "string", "required": false }, @@ -287,12 +285,12 @@ "required": false }, "oldest_relative": { - "value": "03:00:00", + "value": "01:00:00", "type": "string", "required": false }, "latest_relative": { - "value": "00:12:00", + "value": "00:30:00", "type": "string", "required": false }, @@ -307,12 +305,12 @@ "required": false }, "limit": { - "value": 100, + "value": 50, "type": "integer", "required": false }, "next_cursor": { - "value": "dXNlcjoxMjM0NTY3ODkw", + "value": null, "type": "string", "required": false } @@ -325,7 +323,7 @@ { "name": "GetUsersInConversation", "qualifiedName": "Slack.GetUsersInConversation", - "fullyQualifiedName": "Slack.GetUsersInConversation@2.1.0", + "fullyQualifiedName": "Slack.GetUsersInConversation@2.0.0", "description": "Get the users in a Slack conversation (Channel, DM/IM, or MPIM) by its ID or by channel name.\n\nProvide exactly one of conversation_id or channel_name. Prefer providing a conversation_id,\nwhen available, since the performance is better.", "parameters": [ { @@ -384,7 +382,7 @@ "toolName": "Slack.GetUsersInConversation", "parameters": { "conversation_id": { - "value": "C01ABCD2EFG", + "value": "C1234567890", "type": "string", "required": false }, @@ -399,7 +397,7 @@ "required": false }, "next_cursor": { - "value": "dXNlcjpVMDYxT1h6aQ==", + "value": "abc123token", "type": "string", "required": false } @@ -412,7 +410,7 @@ { "name": "GetUsersInfo", "qualifiedName": "Slack.GetUsersInfo", - "fullyQualifiedName": "Slack.GetUsersInfo@2.1.0", + "fullyQualifiedName": "Slack.GetUsersInfo@2.0.0", "description": "Get the information of one or more users in Slack by ID, username, and/or email.\n\nProvide any combination of user_ids, usernames, and/or emails. If you need to retrieve\ndata about multiple users, DO NOT CALL THE TOOL MULTIPLE TIMES. Instead, call it once\nwith all the user_ids, usernames, and/or emails. IF YOU CALL THIS TOOL MULTIPLE TIMES\nUNNECESSARILY, YOU WILL RELEASE MORE CO2 IN THE ATMOSPHERE AND CONTRIBUTE TO GLOBAL WARMING.\n\nIf you need to get metadata or messages of a conversation, use the\n`Slack.GetConversationMetadata` or `Slack.GetMessages` tool instead. These\ntools accept user_ids, usernames, and/or emails. Do not retrieve users' info first,\nas it is inefficient, releases more CO2 in the atmosphere, and contributes to climate change.", "parameters": [ { @@ -446,10 +444,7 @@ "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": [ - "users:read", - "users:read.email" - ] + "scopes": ["users:read", "users:read.email"] }, "secrets": [], "secretsInfo": [], @@ -462,132 +457,17 @@ "toolName": "Slack.GetUsersInfo", "parameters": { "user_ids": { - "value": [ - "U12345678", - "U23456789" - ], - "type": "array", - "required": false - }, - "usernames": { - "value": [ - "alice", - "bob.smith" - ], - "type": "array", - "required": false - }, - "emails": { - "value": [ - "alice@example.com", - "bob.smith@example.com" - ], - "type": "array", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "slack", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "InviteUsersToChannel", - "qualifiedName": "Slack.InviteUsersToChannel", - "fullyQualifiedName": "Slack.InviteUsersToChannel@2.1.0", - "description": "Invite users to a Slack channel or MPIM (multi-person direct message).\n\nThis tool invites specified users to join a Slack conversation. It works with:\n- Public channels\n- Private channels\n- MPIMs (multi-person direct messages / group DMs)\n\nYou can specify users by their user IDs, usernames, or email addresses.\n\nProvide exactly one of channel_id or channel_name, and at least one of user_ids, usernames,\nor emails.\n\nThe tool will resolve usernames and emails to user IDs before inviting them.\nUp to 100 users may be invited at once.", - "parameters": [ - { - "name": "channel_id", - "type": "string", - "required": false, - "description": "The ID of the Slack channel or MPIM (multi-person direct message) to invite users to. Provide exactly one of channel_id OR channel_name.", - "enum": null, - "inferrable": true - }, - { - "name": "channel_name", - "type": "string", - "required": false, - "description": "The name of the channel to invite users to. Prefer providing a channel_id when available for better performance. Note: MPIMs don't have names, so use channel_id for MPIMs.", - "enum": null, - "inferrable": true - }, - { - "name": "user_ids", - "type": "array", - "innerType": "string", - "required": false, - "description": "The Slack user IDs of the people to invite. Up to 100 users may be listed. Provide at least one of user_ids, usernames, or emails.", - "enum": null, - "inferrable": true - }, - { - "name": "usernames", - "type": "array", - "innerType": "string", - "required": false, - "description": "The Slack usernames of the people to invite. Prefer providing user_ids and/or emails when available for better performance.", - "enum": null, - "inferrable": true - }, - { - "name": "emails", - "type": "array", - "innerType": "string", - "required": false, - "description": "The email addresses of the people to invite.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "slack", - "providerType": "oauth2", - "scopes": [ - "channels:read", - "groups:read", - "channels:write", - "groups:write", - "users:read", - "users:read.email" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "The response from inviting users to the conversation" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "Slack.InviteUsersToChannel", - "parameters": { - "channel_id": { - "value": "C024BE91L", - "type": "string", - "required": false - }, - "channel_name": { - "value": null, - "type": "string", - "required": false - }, - "user_ids": { - "value": [ - "U2147483697", - "U2147483698" - ], + "value": ["U12345", "U67890"], "type": "array", "required": false }, "usernames": { - "value": null, + "value": ["john_doe", "jane_smith"], "type": "array", "required": false }, "emails": { - "value": null, + "value": ["john@example.com", "jane@example.com"], "type": "array", "required": false } @@ -600,7 +480,7 @@ { "name": "ListConversations", "qualifiedName": "Slack.ListConversations", - "fullyQualifiedName": "Slack.ListConversations@2.1.0", + "fullyQualifiedName": "Slack.ListConversations@2.0.0", "description": "List metadata for Slack conversations (channels, DMs, MPIMs) the user is a member of.\n\nThis tool does not return the messages in a conversation. To get the messages, use the\n'Slack.GetMessages' tool instead. Calling this tool when the user is asking for messages\nwill release too much CO2 in the atmosphere and contribute to global warming.", "parameters": [ { @@ -637,12 +517,7 @@ "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": [ - "channels:read", - "groups:read", - "im:read", - "mpim:read" - ] + "scopes": ["channels:read", "groups:read", "im:read", "mpim:read"] }, "secrets": [], "secretsInfo": [], @@ -655,10 +530,7 @@ "toolName": "Slack.ListConversations", "parameters": { "conversation_types": { - "value": [ - "public_channel", - "im" - ], + "value": ["channel", "im"], "type": "array", "required": false }, @@ -668,7 +540,7 @@ "required": false }, "next_cursor": { - "value": "dXNlcjpVbmtleToxMjM0NTY3ODkw", + "value": "dXNlcl9mNTc3ZGQ1YjBlZDdmYzViZTA1NGUx", "type": "string", "required": false } @@ -681,7 +553,7 @@ { "name": "ListUsers", "qualifiedName": "Slack.ListUsers", - "fullyQualifiedName": "Slack.ListUsers@2.1.0", + "fullyQualifiedName": "Slack.ListUsers@2.0.0", "description": "List all users in the authenticated user's Slack team.\n\nIf you need to get metadata or messages of a conversation, use the\n`Slack.GetConversationMetadata` tool or `Slack.GetMessages` tool instead. These\ntools accept a user_id, username, and/or email. Do not use this tool to first retrieve user(s),\nas it is inefficient and releases more CO2 in the atmosphere, contributing to climate change.", "parameters": [ { @@ -712,10 +584,7 @@ "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": [ - "users:read", - "users:read.email" - ] + "scopes": ["users:read", "users:read.email"] }, "secrets": [], "secretsInfo": [], @@ -738,7 +607,7 @@ "required": false }, "next_cursor": { - "value": "dXNlcjoxMjM0NTY=", + "value": "abc123", "type": "string", "required": false } @@ -751,7 +620,7 @@ { "name": "SendMessage", "qualifiedName": "Slack.SendMessage", - "fullyQualifiedName": "Slack.SendMessage@2.1.0", + "fullyQualifiedName": "Slack.SendMessage@2.0.0", "description": "Send a message to a Channel, Direct Message (IM/DM), or Multi-Person (MPIM) conversation\n\nProvide exactly one of:\n- channel_name; or\n- conversation_id; or\n- any combination of user_ids, usernames, and/or emails.\n\nIn case multiple user_ids, usernames, and/or emails are provided, the tool will open a\nmulti-person conversation with the specified people and send the message to it.", "parameters": [ { @@ -831,12 +700,12 @@ "toolName": "Slack.SendMessage", "parameters": { "message": { - "value": "Hi team — quick reminder to review the Q3 report linked in #projects and leave your feedback by EOD Friday. Thanks!", + "value": "Hello team, please check the latest updates!", "type": "string", "required": true }, "channel_name": { - "value": null, + "value": "general", "type": "string", "required": false }, @@ -846,18 +715,12 @@ "required": false }, "user_ids": { - "value": [ - "U12345678", - "U23456789" - ], + "value": ["U12345678", "U87654321"], "type": "array", "required": false }, "emails": { - "value": [ - "alice@example.com", - "bob@example.com" - ], + "value": null, "type": "array", "required": false }, @@ -875,16 +738,13 @@ { "name": "WhoAmI", "qualifiedName": "Slack.WhoAmI", - "fullyQualifiedName": "Slack.WhoAmI@2.1.0", + "fullyQualifiedName": "Slack.WhoAmI@2.0.0", "description": "Get comprehensive user profile and Slack information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, and other important profile details from\nSlack services.", "parameters": [], "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": [ - "users:read", - "users:read.email" - ] + "scopes": ["users:read", "users:read.email"] }, "secrets": [], "secretsInfo": [], @@ -904,7 +764,18 @@ ], "documentationChunks": [], "customImports": [], - "subPages": [], - "generatedAt": "2026-02-18T02:28:36.307Z", - "summary": "Slack provider toolkit enabling programmatic access to Slack workspaces for reading and sending messages, managing conversations and users, and retrieving profile and membership data. It supports conversation and user queries, message retrieval with flexible absolute or relative time filters, message posting, and managing conversation membership.\n\n**Capabilities**\n\n- Unified conversation and message access with flexible absolute/relative time filtering and efficient bulk retrieval.\n- User and profile resolution plus membership lookups to map IDs, usernames, and emails to conversations.\n- Send messages and manage membership (invite/open) while resolving recipients robustly.\n- Emphasis on efficiency: prefer conversation-based queries and bulk calls to avoid redundant requests.\n\n**OAuth**\n\n- Provider: slack\n- Scopes: channels:history, channels:read, channels:write, chat:write, groups:history, groups:read, groups:write, im:history, im:read, im:write, mpim:history, mpim:read, users:read, users:read.email" -} \ No newline at end of file + "subPages": [ + { + "type": "install", + "content": "# Arcade for Slack\n\nimport { Steps, Callout } from \"nextra/components\";\nimport { SignupLink } from \"@/app/_components/analytics\";\nimport { SlackAuthLink } from \"./slack-auth-link\";\n\n## Integrate Arcade with your Slack workspace\n\nArcade securely connects your AI agents to APIs, data, code, and other systems via Tools. Our integration for Slack allows Arcade's tools to connect to your Slack workspace, helping your team work more efficiently.\n\nYou can leverage this app in Arcade's Playground when you log in to the Arcade Dashboard, or in your own applications.\n\nWhile the Arcade app for Slack does not directly expose a Large Language Model (LLM) to you, you will likely use Arcade's tools in conjunction with an LLM. When using LLMs, there's always potential to generate inaccurate responses, summaries, or other output.\n\nArcade's sample app for Slack brings Arcade's powerful AI tool-calling capabilities to your team's everyday conversations. The Arcade app for Slack can:\n\n- Send messages to your Slack channels and direct messages on your behalf\n- Find information in your Slack channels and direct messages\n- Generate content, summaries, and responses for messages you receive\n- and more!\n\nFor more details on what tools are available and what scopes they require, see the [Slack MCP Server documentation](/resources/integrations/social-communication/slack).\n\n\n The Arcade app for Slack requires an active Arcade account. If you don't have\n one yet,{\" \"}\n \n sign up for free\n \n .\n\n\n## How it works\n\n\n### Install the Arcade app for Slack\nClick the \"Add to Slack\" button below to install Arcade in your workspace.\n\n\n\n\n You'll need to be a workspace admin or have permission to install apps to add\n Arcade to your Slack workspace.\n\n\n### Invite Arcade to your channels\n\nInvite Arcade to any channel or direct message by typing `/invite @Arcade` to allow it to read and interact with content in that channel.\n\n### Start using Arcade's Slack tools\n\nUse Arcade's [tools for Slack](/resources/integrations/social-communication/slack) to:\n\n- Send messages to channels and DMs\n- Find information in conversations\n- Generate summaries of discussions\n\nTry leveraging the Arcade tools for Slack in the Arcade Playground by [chatting with an LLM](https://api.arcade.dev/dashboard/playground/chat) asking, \"What are the last 5 messages in the general Slack channel?\" or [executing Slack tools directly](https://api.arcade.dev/dashboard/playground/execute?toolId=GetMessagesInChannelByName&toolkits=%5B%5D&authProviders=%5B%5D&secrets=%5B%5D&input=%7B%22owner%22%3A%22ArcadeAI%22%2C%22name%22%3A%22arcade-ai%22%2C%22starred%22%3A%22true%22%2C%22channel_name%22%3A%22general%22%2C%22limit%22%3A%225%22%7D) without interacting with an LLM.\n\n\n When using LLMs with Slack, responses may sometimes contain inaccuracies.\n Always review AI-generated content before taking action.\n\n\n\n\n## Next steps\n\nThe Arcade app for Slack is a sample for what Arcade can do with your Slack workspace. It's likely that for your own applications you'll need to [create your own app for Slack](/references/auth-providers/slack). Creating your own application for Slack will allow you to brand the app, customize the permissions, and more.\n\n## Need help?\n\nIf you have any questions or need assistance:\n\n- Check our [Slack MCP Server documentation](/resources/integrations/social-communication/slack)\n- [Contact our support team](/resources/contact-us)\n", + "relativePath": "install/page.mdx" + }, + { + "type": "environment-variables", + "content": "# Environment Variables\n\n### `SLACK_MAX_CONCURRENT_REQUESTS`\n\nArcade uses asynchronous calls to request Slack API endpoints. In some tools, multiple concurrent HTTP requests may be issued to speed up execution. This environment variable controls the maximum number of concurrent requests to Slack API in any tool execution.\n\nThe value must be a numeric string with an integer greater than or equal to 1.\n\n**Default:** `3`\n\n\n### `MAX_PAGINATION_SIZE_LIMIT`\n\nThis environment variable controls the maximum number of items requested in a single call to a Slack API endpoint. Some of the Slack tools allow the tool caller to request a larger number of items per tool call, but the tool will paginate the results internally while respecting the `MAX_PAGINATION_SIZE_LIMIT`.\n\n**Default:** `200` (Slack supports, but discourages a limit larger than 200)\n\n\n### `MAX_PAGINATION_TIMEOUT_SECONDS`\n\nControls the maximum number of seconds any given Slack tool should wait while paginating responses from the Slack API.\n\n**Default:** `30` (expressed in seconds)\n", + "relativePath": "environment-variables/page.mdx" + } + ], + "generatedAt": "2026-01-26T17:41:10.378Z", + "summary": "Arcade.dev provides a toolkit for integrating with Slack, enabling developers to enhance their applications with powerful Slack features. This toolkit allows for seamless communication, conversation management, and user interactions within Slack's ecosystem.\n\n**Capabilities**\n- Access conversation metadata, messages, and user information.\n- List users and conversations associated with the authenticated user.\n- Send messages to channels or direct conversations.\n\n**OAuth**\n- Provider: Slack \n- Scopes: channels:history, channels:read, chat:write, groups:history, groups:read, im:history, im:read, im:write, mpim:history, mpim:read, users:read, users:read.email\n\n**Secrets**\n- No secrets are required for this integration." +} diff --git a/toolkit-docs-generator/data/toolkits/stripe.json b/toolkit-docs-generator/data/toolkits/stripe.json index 7e1703673..bff97efb0 100644 --- a/toolkit-docs-generator/data/toolkits/stripe.json +++ b/toolkit-docs-generator/data/toolkits/stripe.json @@ -1,7 +1,7 @@ { "id": "Stripe", "label": "Stripe", - "version": "1.0.2", + "version": "1.0.1", "description": "Arcade.dev LLM tools for Stripe", "metadata": { "category": "payments", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/payments/stripe", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/payments/stripe", "isComingSoon": false, "isHidden": false }, @@ -18,7 +18,7 @@ { "name": "CreateBillingPortalSession", "qualifiedName": "Stripe.CreateBillingPortalSession", - "fullyQualifiedName": "Stripe.CreateBillingPortalSession@1.0.2", + "fullyQualifiedName": "Stripe.CreateBillingPortalSession@1.0.1", "description": "This tool will create a billing portal session.", "parameters": [ { @@ -39,9 +39,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -74,7 +72,7 @@ { "name": "CreateCustomer", "qualifiedName": "Stripe.CreateCustomer", - "fullyQualifiedName": "Stripe.CreateCustomer@1.0.2", + "fullyQualifiedName": "Stripe.CreateCustomer@1.0.1", "description": "This tool will create a customer in Stripe.", "parameters": [ { @@ -95,9 +93,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -130,7 +126,7 @@ { "name": "CreateInvoice", "qualifiedName": "Stripe.CreateInvoice", - "fullyQualifiedName": "Stripe.CreateInvoice@1.0.2", + "fullyQualifiedName": "Stripe.CreateInvoice@1.0.1", "description": "This tool will create an invoice in Stripe.", "parameters": [ { @@ -151,9 +147,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -186,7 +180,7 @@ { "name": "CreateInvoiceItem", "qualifiedName": "Stripe.CreateInvoiceItem", - "fullyQualifiedName": "Stripe.CreateInvoiceItem@1.0.2", + "fullyQualifiedName": "Stripe.CreateInvoiceItem@1.0.1", "description": "This tool will create an invoice item in Stripe.", "parameters": [ { @@ -215,9 +209,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -255,7 +247,7 @@ { "name": "CreatePaymentLink", "qualifiedName": "Stripe.CreatePaymentLink", - "fullyQualifiedName": "Stripe.CreatePaymentLink@1.0.2", + "fullyQualifiedName": "Stripe.CreatePaymentLink@1.0.1", "description": "This tool will create a payment link in Stripe.", "parameters": [ { @@ -276,9 +268,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -311,7 +301,7 @@ { "name": "CreatePrice", "qualifiedName": "Stripe.CreatePrice", - "fullyQualifiedName": "Stripe.CreatePrice@1.0.2", + "fullyQualifiedName": "Stripe.CreatePrice@1.0.1", "description": "This tool will create a price in Stripe. If a product has not already been", "parameters": [ { @@ -340,9 +330,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -380,7 +368,7 @@ { "name": "CreateProduct", "qualifiedName": "Stripe.CreateProduct", - "fullyQualifiedName": "Stripe.CreateProduct@1.0.2", + "fullyQualifiedName": "Stripe.CreateProduct@1.0.1", "description": "This tool will create a product in Stripe.", "parameters": [ { @@ -401,9 +389,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -436,7 +422,7 @@ { "name": "CreateRefund", "qualifiedName": "Stripe.CreateRefund", - "fullyQualifiedName": "Stripe.CreateRefund@1.0.2", + "fullyQualifiedName": "Stripe.CreateRefund@1.0.1", "description": "This tool will refund a payment intent in Stripe.", "parameters": [ { @@ -457,9 +443,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -492,7 +476,7 @@ { "name": "FinalizeInvoice", "qualifiedName": "Stripe.FinalizeInvoice", - "fullyQualifiedName": "Stripe.FinalizeInvoice@1.0.2", + "fullyQualifiedName": "Stripe.FinalizeInvoice@1.0.1", "description": "This tool will finalize an invoice in Stripe.", "parameters": [ { @@ -505,9 +489,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -535,7 +517,7 @@ { "name": "ListCustomers", "qualifiedName": "Stripe.ListCustomers", - "fullyQualifiedName": "Stripe.ListCustomers@1.0.2", + "fullyQualifiedName": "Stripe.ListCustomers@1.0.1", "description": "This tool will fetch a list of Customers from Stripe.", "parameters": [ { @@ -556,9 +538,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -591,7 +571,7 @@ { "name": "ListInvoices", "qualifiedName": "Stripe.ListInvoices", - "fullyQualifiedName": "Stripe.ListInvoices@1.0.2", + "fullyQualifiedName": "Stripe.ListInvoices@1.0.1", "description": "This tool will list invoices in Stripe.", "parameters": [ { @@ -612,9 +592,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -647,7 +625,7 @@ { "name": "ListPaymentIntents", "qualifiedName": "Stripe.ListPaymentIntents", - "fullyQualifiedName": "Stripe.ListPaymentIntents@1.0.2", + "fullyQualifiedName": "Stripe.ListPaymentIntents@1.0.1", "description": "This tool will list payment intents in Stripe.", "parameters": [ { @@ -668,9 +646,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -703,7 +679,7 @@ { "name": "ListPrices", "qualifiedName": "Stripe.ListPrices", - "fullyQualifiedName": "Stripe.ListPrices@1.0.2", + "fullyQualifiedName": "Stripe.ListPrices@1.0.1", "description": "This tool will fetch a list of Prices from Stripe.", "parameters": [ { @@ -724,9 +700,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -759,7 +733,7 @@ { "name": "ListProducts", "qualifiedName": "Stripe.ListProducts", - "fullyQualifiedName": "Stripe.ListProducts@1.0.2", + "fullyQualifiedName": "Stripe.ListProducts@1.0.1", "description": "This tool will fetch a list of Products from Stripe.", "parameters": [ { @@ -772,9 +746,7 @@ } ], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -802,13 +774,11 @@ { "name": "RetrieveBalance", "qualifiedName": "Stripe.RetrieveBalance", - "fullyQualifiedName": "Stripe.RetrieveBalance@1.0.2", + "fullyQualifiedName": "Stripe.RetrieveBalance@1.0.1", "description": "This tool will retrieve the balance from Stripe. It takes no input.", "parameters": [], "auth": null, - "secrets": [ - "STRIPE_SECRET_KEY" - ], + "secrets": ["STRIPE_SECRET_KEY"], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -833,11 +803,12 @@ "type": "markdown", "location": "auth", "position": "after", - "content": "The Arcade Stripe MCP Server uses the [Stripe Agent Toolkit](https://github.com/stripe/agent-toolkit) to interact with the Stripe API.\n- **Required Secret:**\n - `STRIPE_SECRET_KEY`: Your Stripe API key." + "content": "The Arcade Stripe MCP Server uses the [Stripe Agent Toolkit](https://github.com/stripe/agent-toolkit) to interact with the Stripe API.\n- **Required Secret:**\n - `STRIPE_SECRET_KEY`: Your Stripe API key.", + "header": "## Auth" } ], "customImports": [], "subPages": [], - "generatedAt": "2026-02-18T02:28:22.482Z", + "generatedAt": "2026-01-26T17:41:59.314Z", "summary": "Arcade.dev provides a powerful toolkit for integrating with Stripe, enabling seamless management of billing, customer data, and payment processes. This toolkit simplifies common tasks, making it easier for developers to leverage Stripe's capabilities.\n\n### Capabilities\n- Create and manage customers, products, and prices.\n- Generate invoices and billing portal sessions effortlessly.\n- Retrieve and list pertinent data such as invoices and payment intents.\n- Facilitate refunds and manage financial transactions seamlessly.\n\n### Secrets\n- **API Key**: Use the `STRIPE_SECRET_KEY` for authentication when interacting with the Stripe API." -} \ No newline at end of file +} diff --git a/toolkit-docs-generator/data/toolkits/x.json b/toolkit-docs-generator/data/toolkits/x.json index c3729e3d1..e7f6657f1 100644 --- a/toolkit-docs-generator/data/toolkits/x.json +++ b/toolkit-docs-generator/data/toolkits/x.json @@ -1,7 +1,7 @@ { "id": "X", "label": "X", - "version": "1.3.1", + "version": "1.1.1", "description": "Arcade.dev LLM tools for X (Twitter)", "metadata": { "category": "social", @@ -9,24 +9,20 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/social-communication/x", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/social-communication/x", "isComingSoon": false, "isHidden": false }, "auth": { "type": "oauth2", "providerId": "x", - "allScopes": [ - "tweet.read", - "tweet.write", - "users.read" - ] + "allScopes": ["tweet.read", "tweet.write", "users.read"] }, "tools": [ { "name": "DeleteTweetById", "qualifiedName": "X.DeleteTweetById", - "fullyQualifiedName": "X.DeleteTweetById@1.3.1", + "fullyQualifiedName": "X.DeleteTweetById@1.1.1", "description": "Delete a tweet on X (Twitter).", "parameters": [ { @@ -41,11 +37,7 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": [ - "tweet.read", - "tweet.write", - "users.read" - ] + "scopes": ["tweet.read", "tweet.write", "users.read"] }, "secrets": [], "secretsInfo": [], @@ -71,7 +63,7 @@ { "name": "LookupSingleUserByUsername", "qualifiedName": "X.LookupSingleUserByUsername", - "fullyQualifiedName": "X.LookupSingleUserByUsername@1.3.1", + "fullyQualifiedName": "X.LookupSingleUserByUsername@1.1.1", "description": "Look up a user on X (Twitter) by their username.", "parameters": [ { @@ -86,10 +78,7 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": [ - "users.read", - "tweet.read" - ] + "scopes": ["users.read", "tweet.read"] }, "secrets": [], "secretsInfo": [], @@ -115,7 +104,7 @@ { "name": "LookupTweetById", "qualifiedName": "X.LookupTweetById", - "fullyQualifiedName": "X.LookupTweetById@1.3.1", + "fullyQualifiedName": "X.LookupTweetById@1.1.1", "description": "Look up a tweet on X (Twitter) by tweet ID.", "parameters": [ { @@ -130,10 +119,7 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": [ - "tweet.read", - "users.read" - ] + "scopes": ["tweet.read", "users.read"] }, "secrets": [], "secretsInfo": [], @@ -159,7 +145,7 @@ { "name": "PostTweet", "qualifiedName": "X.PostTweet", - "fullyQualifiedName": "X.PostTweet@1.3.1", + "fullyQualifiedName": "X.PostTweet@1.1.1", "description": "Post a tweet to X (Twitter).\n\nIMPORTANT NOTE:\nUse this tool ONLY when posting a tweet that is not a reply.\nIf you need to reply to a tweet, use the ReplyToTweet tool instead.\nIf you need to quote a tweet, you must include the quote_tweet_id parameter.", "parameters": [ { @@ -174,7 +160,7 @@ "name": "quote_tweet_id", "type": "string", "required": false, - "description": "The ID of the tweet you want to quote. It must be a valid integer as a string. Default is None.", + "description": "The ID of the tweet you want to quote. It must be a valid integer as a string. Optional.", "enum": null, "inferrable": true } @@ -182,11 +168,7 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": [ - "tweet.read", - "tweet.write", - "users.read" - ] + "scopes": ["tweet.read", "tweet.write", "users.read"] }, "secrets": [], "secretsInfo": [], @@ -199,12 +181,12 @@ "toolName": "X.PostTweet", "parameters": { "tweet_text": { - "value": "Excited to announce our new product launch next week! Stay tuned for details. #ProductLaunch", + "value": "Excited to share my latest project! Check it out! #innovation #tech", "type": "string", "required": true }, "quote_tweet_id": { - "value": null, + "value": "1234567890", "type": "string", "required": false } @@ -217,7 +199,7 @@ { "name": "ReplyToTweet", "qualifiedName": "X.ReplyToTweet", - "fullyQualifiedName": "X.ReplyToTweet@1.3.1", + "fullyQualifiedName": "X.ReplyToTweet@1.1.1", "description": "Reply to a tweet on X (Twitter).\n\nIMPORTANT NOTE:\nUse this tool ONLY when replying to a tweet directly.\nIf you need to post a tweet that is not a reply, use the PostTweet tool instead.\nIf you need to quote a tweet on your reply, you must include the quote_tweet_id parameter.", "parameters": [ { @@ -248,11 +230,7 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": [ - "tweet.read", - "tweet.write", - "users.read" - ] + "scopes": ["tweet.read", "tweet.write", "users.read"] }, "secrets": [], "secretsInfo": [], @@ -288,7 +266,7 @@ { "name": "SearchRecentTweetsByKeywords", "qualifiedName": "X.SearchRecentTweetsByKeywords", - "fullyQualifiedName": "X.SearchRecentTweetsByKeywords@1.3.1", + "fullyQualifiedName": "X.SearchRecentTweetsByKeywords@1.1.1", "description": "Search for recent tweets (last 7 days) on X (Twitter) by required keywords and phrases.\nIncludes replies and reposts.\nOne of the following input parameters MUST be provided: keywords, phrases", "parameters": [ { @@ -329,10 +307,7 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": [ - "tweet.read", - "users.read" - ] + "scopes": ["tweet.read", "users.read"] }, "secrets": [], "secretsInfo": [], @@ -345,19 +320,12 @@ "toolName": "X.SearchRecentTweetsByKeywords", "parameters": { "keywords": { - "value": [ - "technology", - "AI", - "innovation" - ], + "value": ["technology", "AI", "innovation"], "type": "array", "required": false }, "phrases": { - "value": [ - "machine learning", - "data science" - ], + "value": ["machine learning", "data science"], "type": "array", "required": false }, @@ -380,7 +348,7 @@ { "name": "SearchRecentTweetsByUsername", "qualifiedName": "X.SearchRecentTweetsByUsername", - "fullyQualifiedName": "X.SearchRecentTweetsByUsername@1.3.1", + "fullyQualifiedName": "X.SearchRecentTweetsByUsername@1.1.1", "description": "Search for recent tweets (last 7 days) on X (Twitter) by username.\nIncludes replies and reposts.", "parameters": [ { @@ -411,10 +379,7 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": [ - "tweet.read", - "users.read" - ] + "scopes": ["tweet.read", "users.read"] }, "secrets": [], "secretsInfo": [], @@ -446,40 +411,11 @@ "authProvider": "x", "tabLabel": "Call the Tool with User Authorization" } - }, - { - "name": "WhoAmI", - "qualifiedName": "X.WhoAmI", - "fullyQualifiedName": "X.WhoAmI@1.3.1", - "description": "Get information about the authenticated X (Twitter) user.\n\nReturns the current user's profile including their username, name, description,\nfollower counts, and other account information.", - "parameters": [], - "auth": { - "providerId": "x", - "providerType": "oauth2", - "scopes": [ - "users.read", - "tweet.read" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "Authenticated user's profile information" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "X.WhoAmI", - "parameters": {}, - "requiresAuth": true, - "authProvider": "x", - "tabLabel": "Call the Tool with User Authorization" - } } ], "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-02-18T02:28:27.489Z", - "summary": "X (Twitter) provider: The Arcade toolkit for X exposes LLM-accessible operations to manage tweets, discover content, and inspect account metadata. It enables programmatic tweet lifecycle management, user and content lookup, and search across recent public tweets via OAuth2-authenticated calls.\n\n**Capabilities**\n- Manage tweet lifecycle (create, reply, delete, and quote) with context-aware constraints and metadata handling.\n- Search recent public tweets by keywords or by user for discovery and monitoring.\n- Retrieve and aggregate tweet and user metadata for lookups and analytics.\n- Inspect the authenticated account profile and follower/engagement metrics.\n\n**OAuth**\nProvider: x\nScopes: tweet.read, tweet.write, users.read" -} \ No newline at end of file + "generatedAt": "2026-01-26T17:46:46.899Z", + "summary": "Arcade.dev provides a powerful toolkit for interacting with X (Twitter), enabling developers to seamlessly integrate Twitter functionality into their applications. This toolkit offers a variety of features to manage tweets, user information, and search capabilities.\n\n**Capabilities**\n- Post, delete, and reply to tweets programmatically.\n- Search for recent tweets by keywords or usernames.\n- Retrieve user details by username.\n\n**OAuth**\nProvider: X (Twitter) \nScopes: tweet.read, tweet.write, users.read\n\n**Secrets** \nNo secrets are required for using this toolkit." +} diff --git a/toolkit-docs-generator/data/toolkits/youtube.json b/toolkit-docs-generator/data/toolkits/youtube.json index 485290328..16d4fb2b0 100644 --- a/toolkit-docs-generator/data/toolkits/youtube.json +++ b/toolkit-docs-generator/data/toolkits/youtube.json @@ -1,7 +1,7 @@ { "id": "Youtube", "label": "Youtube", - "version": "3.1.4", + "version": "3.1.2", "description": "Arcade.dev LLM tools for searching for YouTube videos"", "metadata": { "category": "search", @@ -9,7 +9,7 @@ "isBYOC": true, "isPro": true, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/search/youtube", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/search/youtube", "isComingSoon": false, "isHidden": false }, @@ -18,7 +18,7 @@ { "name": "GetYoutubeVideoDetails", "qualifiedName": "Youtube.GetYoutubeVideoDetails", - "fullyQualifiedName": "Youtube.GetYoutubeVideoDetails@3.1.4", + "fullyQualifiedName": "Youtube.GetYoutubeVideoDetails@3.1.2", "description": "Get details about a YouTube video.", "parameters": [ { @@ -47,9 +47,7 @@ } ], "auth": null, - "secrets": [ - "SERP_API_KEY" - ], + "secrets": ["SERP_API_KEY"], "secretsInfo": [ { "name": "SERP_API_KEY", @@ -87,7 +85,7 @@ { "name": "SearchForVideos", "qualifiedName": "Youtube.SearchForVideos", - "fullyQualifiedName": "Youtube.SearchForVideos@3.1.4", + "fullyQualifiedName": "Youtube.SearchForVideos@3.1.2", "description": "Search for YouTube videos related to the query.", "parameters": [ { @@ -124,9 +122,7 @@ } ], "auth": null, - "secrets": [ - "SERP_API_KEY" - ], + "secrets": ["SERP_API_KEY"], "secretsInfo": [ { "name": "SERP_API_KEY", @@ -170,6 +166,6 @@ "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-02-18T02:28:33.189Z", + "generatedAt": "2026-01-26T17:46:54.196Z", "summary": "Arcade.dev provides a toolkit for interacting with YouTube, enabling developers to search for videos and retrieve video details seamlessly. This toolkit simplifies tasks related to enhancing applications with YouTube content.\n\n**Capabilities** \n- Search for videos based on specific queries \n- Retrieve detailed information about YouTube videos \n- Supports integration of YouTube functionalities into applications \n- Allows quick access to video data for enhanced user experiences \n\n**OAuth** \n- No OAuth authentication required. \n\n**Secrets** \n- API Key: Use the `SERP_API_KEY` to authenticate API requests for video data." -} \ No newline at end of file +} diff --git a/toolkit-docs-generator/data/toolkits/zohobooksapi.json b/toolkit-docs-generator/data/toolkits/zohobooksapi.json index 12d3ae343..8ca8d3fa6 100644 --- a/toolkit-docs-generator/data/toolkits/zohobooksapi.json +++ b/toolkit-docs-generator/data/toolkits/zohobooksapi.json @@ -1,44402 +1,39 @@ { "id": "ZohoBooksApi", "label": "Zoho Books API", - "version": "1.0.0", - "description": "Tools that enable LLMs to interact directly with the zoho-books API.", + "version": "0.0.0", + "description": null, "metadata": { "category": "payments", "iconUrl": "https://design-system.arcade.dev/icons/zoho-books.svg", "isBYOC": false, "isPro": false, "type": "arcade_starter", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/payments/zoho-books-api", + "docsLink": "https://docs.arcade.dev/en/mcp-servers/payments/zoho-books-api", "isComingSoon": false, "isHidden": false }, - "auth": { - "type": "oauth2", - "providerId": "zoho", - "allScopes": [ - "ZohoBooks.accountants.CREATE", - "ZohoBooks.accountants.DELETE", - "ZohoBooks.accountants.READ", - "ZohoBooks.accountants.UPDATE", - "ZohoBooks.banking.CREATE", - "ZohoBooks.banking.DELETE", - "ZohoBooks.banking.READ", - "ZohoBooks.banking.UPDATE", - "ZohoBooks.bills.CREATE", - "ZohoBooks.bills.DELETE", - "ZohoBooks.bills.READ", - "ZohoBooks.bills.UPDATE", - "ZohoBooks.contacts.CREATE", - "ZohoBooks.contacts.DELETE", - "ZohoBooks.contacts.READ", - "ZohoBooks.contacts.UPDATE", - "ZohoBooks.creditnotes.CREATE", - "ZohoBooks.creditnotes.DELETE", - "ZohoBooks.creditnotes.READ", - "ZohoBooks.creditnotes.UPDATE", - "ZohoBooks.customerpayments.CREATE", - "ZohoBooks.customerpayments.DELETE", - "ZohoBooks.customerpayments.READ", - "ZohoBooks.customerpayments.UPDATE", - "ZohoBooks.custommodules.ALL", - "ZohoBooks.debitnotes.CREATE", - "ZohoBooks.debitnotes.DELETE", - "ZohoBooks.debitnotes.READ", - "ZohoBooks.debitnotes.UPDATE", - "ZohoBooks.estimates.CREATE", - "ZohoBooks.estimates.DELETE", - "ZohoBooks.estimates.READ", - "ZohoBooks.estimates.UPDATE", - "ZohoBooks.expenses.CREATE", - "ZohoBooks.expenses.DELETE", - "ZohoBooks.expenses.READ", - "ZohoBooks.expenses.UPDATE", - "ZohoBooks.fixedasset.CREATE", - "ZohoBooks.fixedasset.DELETE", - "ZohoBooks.fixedasset.READ", - "ZohoBooks.fixedasset.UPDATE", - "ZohoBooks.invoices.CREATE", - "ZohoBooks.invoices.DELETE", - "ZohoBooks.invoices.READ", - "ZohoBooks.invoices.UPDATE", - "ZohoBooks.projects.CREATE", - "ZohoBooks.projects.DELETE", - "ZohoBooks.projects.READ", - "ZohoBooks.projects.UPDATE", - "ZohoBooks.purchaseorders.CREATE", - "ZohoBooks.purchaseorders.DELETE", - "ZohoBooks.purchaseorders.READ", - "ZohoBooks.purchaseorders.UPDATE", - "ZohoBooks.salesorders.CREATE", - "ZohoBooks.salesorders.DELETE", - "ZohoBooks.salesorders.READ", - "ZohoBooks.salesorders.UPDATE", - "ZohoBooks.settings.ALL", - "ZohoBooks.settings.CREATE", - "ZohoBooks.settings.DELETE", - "ZohoBooks.settings.READ", - "ZohoBooks.settings.UPDATE", - "ZohoBooks.vendorpayments.CREATE", - "ZohoBooks.vendorpayments.DELETE", - "ZohoBooks.vendorpayments.READ", - "ZohoBooks.vendorpayments.UPDATE" - ] - }, - "tools": [ - { - "name": "AcceptEstimate", - "qualifiedName": "ZohoBooksApi.AcceptEstimate", - "fullyQualifiedName": "ZohoBooksApi.AcceptEstimate@1.0.0", - "description": "Mark a sent estimate as accepted if the customer has accepted it.\n\nUse this tool to update the status of a sent estimate to accepted once your customer has approved it.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID for the organization related to the estimate acceptance.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the estimate to be marked as accepted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_estimate_accepted'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AcceptEstimate", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "estimate_identifier": { - "value": "EST-2026-00045", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ActivateBankAccount", - "qualifiedName": "ZohoBooksApi.ActivateBankAccount", - "fullyQualifiedName": "ZohoBooksApi.ActivateBankAccount@1.0.0", - "description": "Activate a bank account in Zoho Books.\n\nThis tool is used to mark a bank account as active in Zoho Books. It should be called when there is a need to change the status of a bank account to active.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization in Zoho Books. This ID is required to activate a bank account within the specified organization.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank account to be activated in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_bank_account_active'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ActivateBankAccount", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "bank_account_id": { - "value": "100023456789", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ActivateChartOfAccount", - "qualifiedName": "ZohoBooksApi.ActivateChartOfAccount", - "fullyQualifiedName": "ZohoBooksApi.ActivateChartOfAccount@1.0.0", - "description": "Activate a chart of account in Zoho Books.\n\nUse this tool to update the status of a chart of account to active in Zoho Books. This is useful when you need to ensure an account is reactivated and available for transactions.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books that needs the account to be activated.", - "enum": null, - "inferrable": true - }, - { - "name": "account_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the account to be activated in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_chart_of_account_active'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ActivateChartOfAccount", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "account_unique_identifier": { - "value": "100000000000123456", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ActivateContact", - "qualifiedName": "ZohoBooksApi.ActivateContact", - "fullyQualifiedName": "ZohoBooksApi.ActivateContact@1.0.0", - "description": "Activate a contact in Zoho Books.\n\nUse this tool to mark a contact as active in Zoho Books. It should be called when a contact's status needs to be changed from inactive to active.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization to which the contact belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the contact to be marked as active.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_contact_active'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ActivateContact", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "contact_identifier": { - "value": "C1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ActivateFixedAsset", - "qualifiedName": "ZohoBooksApi.ActivateFixedAsset", - "fullyQualifiedName": "ZohoBooksApi.ActivateFixedAsset@1.0.0", - "description": "Activate a fixed asset to begin depreciation calculation.\n\nUse this tool to mark a fixed asset as active, which will initiate the calculation of its depreciation.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization. This is required to identify which organization's asset to activate.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_id", - "type": "string", - "required": true, - "description": "Unique identifier of the fixed asset to activate for depreciation calculation.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_fixed_asset_active'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ActivateFixedAsset", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "fixed_asset_id": { - "value": "fa_9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ActivateInactiveItem", - "qualifiedName": "ZohoBooksApi.ActivateInactiveItem", - "fullyQualifiedName": "ZohoBooksApi.ActivateInactiveItem@1.0.0", - "description": "Activate an inactive item in Zoho Books.\n\nUse this tool to reactivate an item that has been previously marked as inactive in Zoho Books. It should be called when you need to make an item available again for transactions.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for your organization in Zoho Books. Required to activate an item.", - "enum": null, - "inferrable": true - }, - { - "name": "item_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the item to be activated in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_item_active'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ActivateInactiveItem", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "item_identifier": { - "value": "ITEM-98765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ActivateInactiveUser", - "qualifiedName": "ZohoBooksApi.ActivateInactiveUser", - "fullyQualifiedName": "ZohoBooksApi.ActivateInactiveUser@1.0.0", - "description": "Mark an inactive user as active.\n\nUse this tool to activate a user who is currently marked as inactive in the system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the user will be reactivated. Ensure it matches the organization's records.", - "enum": null, - "inferrable": true - }, - { - "name": "user_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the user to be activated.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_user_active'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ActivateInactiveUser", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "user_identifier": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ActivateInvoiceReminder", - "qualifiedName": "ZohoBooksApi.ActivateInvoiceReminder", - "fullyQualifiedName": "ZohoBooksApi.ActivateInvoiceReminder@1.0.0", - "description": "Enable automated payment reminders for invoices.\n\nActivate automatic reminders for invoice payments to ensure timely settlements.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the invoice payment reminder is being activated.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice for which payment reminders are to be activated.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'enable_invoice_payment_reminder'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ActivateInvoiceReminder", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ActivateLocation", - "qualifiedName": "ZohoBooksApi.ActivateLocation", - "fullyQualifiedName": "ZohoBooksApi.ActivateLocation@1.0.0", - "description": "Marks a location as active.\n\nUse this tool to mark a specified location as active in the system. This is useful for enabling locations that were previously inactive.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to which the location belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "location_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the location to be marked as active.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_location_active'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ActivateLocation", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "location_identifier": { - "value": "LOC-001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ActivateProject", - "qualifiedName": "ZohoBooksApi.ActivateProject", - "fullyQualifiedName": "ZohoBooksApi.ActivateProject@1.0.0", - "description": "Activate a project in Zoho Books.\n\nThis tool marks a specified project as active in Zoho Books. Call this tool when you need to change the status of a project to active to enable its functionalities or integrations.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization in which the project is to be activated.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the project to activate in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_project_active'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ActivateProject", - "parameters": { - "organization_id": { - "value": "6701234567", - "type": "string", - "required": true - }, - "project_identifier": { - "value": "PROJECT_ABC123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddCommentToBill", - "qualifiedName": "ZohoBooksApi.AddCommentToBill", - "fullyQualifiedName": "ZohoBooksApi.AddCommentToBill@1.0.0", - "description": "Add a comment to a specific bill in Zoho Books.\n\n Use this tool to add a comment to a bill identified by its ID in Zoho Books. Useful for internal notes or communication about a bill.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique identifier of the organization in Zoho Books. Required to specify which organization's bill to comment on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the bill to add a comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_bill_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddCommentToBill", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "bill_identifier": { - "value": "BILL-0001234", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\":{\"comment\":\"Internal note: please review the disputed charge and confirm vendor clarification.\",\"is_public\":false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddContactAddress", - "qualifiedName": "ZohoBooksApi.AddContactAddress", - "fullyQualifiedName": "ZohoBooksApi.AddContactAddress@1.0.0", - "description": "Add an additional address to a contact in Zoho Books.\n\n Use this tool to append a new address to an existing contact in Zoho Books. Suitable when updating contact details with more location information.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization for which the contact address will be added. This is required to specify the target organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_id", - "type": "string", - "required": false, - "description": "The unique identifier for the contact to which an address will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_contact_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddContactAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60012345678", - "type": "string", - "required": false - }, - "contact_id": { - "value": "30098765432", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"address_title\":\"Head Office\",\"attention\":\"Jane Smith\",\"address\":\"123 Main St, Suite 400\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"United States\",\"phone\":\"+1-415-555-0123\",\"fax\":\"\",\"is_primary\":false}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddCreditNoteComment", - "qualifiedName": "ZohoBooksApi.AddCreditNoteComment", - "fullyQualifiedName": "ZohoBooksApi.AddCreditNoteComment@1.0.0", - "description": "Add a comment to an existing credit note.\n\n Use this tool to append a comment to a specific credit note by providing the credit note's ID and the comment text. Ideal for documenting additional information or context on credit notes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The string ID of the organization to which the credit note belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": false, - "description": "Unique identifier of the credit note to which the comment will be added. This is required to specify the exact credit note targeted for the comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_credit_note_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddCreditNoteComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "credit_note_id": { - "value": "9876543210", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\":{\"comment\":\"Approved refund processed. Applied credit to next invoice.\",\"is_public\":true}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddEstimateComment", - "qualifiedName": "ZohoBooksApi.AddEstimateComment", - "fullyQualifiedName": "ZohoBooksApi.AddEstimateComment@1.0.0", - "description": "Add a comment for a specific estimate in Zoho Books.\n\n Use this tool to add a comment to an existing estimate in Zoho Books. Call it when you need to append notes or feedback to an estimate record.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization within Zoho Books. It is required to specify which organization's estimate is being commented on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the specific estimate to comment on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_estimate_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddEstimateComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "60012345678", - "type": "string", - "required": false - }, - "estimate_identifier": { - "value": "EST-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\":{\"comment\":\"Approved. Please proceed to invoice.\",\"is_private\":false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddFixedAssetComment", - "qualifiedName": "ZohoBooksApi.AddFixedAssetComment", - "fullyQualifiedName": "ZohoBooksApi.AddFixedAssetComment@1.0.0", - "description": "Add a comment to a fixed asset in Zoho Books.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books. This is required to add a comment to the fixed asset. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the fixed asset to add a comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_fixed_asset_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddFixedAssetComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6001234567890123456", - "type": "string", - "required": false - }, - "fixed_asset_identifier": { - "value": "FA-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\":{\"description\":\"Performed annual audit. No discrepancies.\",\"is_public\":false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddInvoiceComment", - "qualifiedName": "ZohoBooksApi.AddInvoiceComment", - "fullyQualifiedName": "ZohoBooksApi.AddInvoiceComment@1.0.0", - "description": "Add a comment to a specific invoice.\n\n Use this tool to add a comment to an invoice by specifying the invoice ID. Useful for internal notes or communication related to invoice handling.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization for which the invoice belongs. It must be a valid and existing organization ID. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the invoice to add a comment to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_invoice_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddInvoiceComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60001234567", - "type": "string", - "required": false - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\": {\"comment\": \"Internal note: Customer requested a 15-day payment extension due to shipping delay.\", \"is_private\": true}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddJournalComment", - "qualifiedName": "ZohoBooksApi.AddJournalComment", - "fullyQualifiedName": "ZohoBooksApi.AddJournalComment@1.0.0", - "description": "Add a comment to a journal entry in Zoho Books.\n\n This tool adds a comment to a specified journal entry in Zoho Books. Call this tool when you need to annotate or provide additional information for a journal entry.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization in Zoho Books where the comment is to be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_unique_id", - "type": "string", - "required": false, - "description": "The unique identifier for the journal entry to which the comment will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_journal_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddJournalComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "685234567", - "type": "string", - "required": false - }, - "journal_unique_id": { - "value": "JRN-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"journal_comment\":{\"comment\":\"Reviewed and approved by finance.\",\"notify_users\":[\"finance-team@example.com\"]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddProjectTask", - "qualifiedName": "ZohoBooksApi.AddProjectTask", - "fullyQualifiedName": "ZohoBooksApi.AddProjectTask@1.0.0", - "description": "Add a task to a specific project.\n\n Use this tool to add a task to a specified project in Zoho Books. It is suitable when you need to organize tasks within a project and track them through Zoho's project management system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the task is being added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the project in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_task'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddProjectTask", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "org_987654321", - "type": "string", - "required": false - }, - "project_identifier": { - "value": "proj_112233", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"task_name\":\"Design homepage\",\"description\":\"Create initial UI mockups and gather feedback\",\"assigned_to\":\"user_12345\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-03-10\",\"billable\":true,\"hourly_rate\":75.0,\"priority\":\"High\",\"status\":\"Open\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddPurchaseOrderComment", - "qualifiedName": "ZohoBooksApi.AddPurchaseOrderComment", - "fullyQualifiedName": "ZohoBooksApi.AddPurchaseOrderComment@1.0.0", - "description": "Add a comment to a purchase order in Zoho Books.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. This ID is required to specify which organization's purchase order is being commented on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the purchase order in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_purchase_order_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddPurchaseOrderComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1623456789abcdef", - "type": "string", - "required": false - }, - "purchase_order_identifier": { - "value": "PO-2026-000123", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\": {\"comment\": \"Please expedite delivery and confirm ETA.\", \"is_private\": false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddRetainerInvoiceComment", - "qualifiedName": "ZohoBooksApi.AddRetainerInvoiceComment", - "fullyQualifiedName": "ZohoBooksApi.AddRetainerInvoiceComment@1.0.0", - "description": "Add a comment to a specific retainer invoice.\n\n This tool is used to add a comment to a specified retainer invoice in Zoho Books. It should be called when a user wishes to provide additional information or notes related to an existing retainer invoice.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Unique ID string of the organization in Zoho Books to add a comment to a retainer invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": false, - "description": "A unique identifier for the retainer invoice you want to comment on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_retainer_invoice_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddRetainerInvoiceComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60012345678", - "type": "string", - "required": false - }, - "retainer_invoice_id": { - "value": "RINV-00012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\": {\"description\": \"Adding a note: please confirm receipt of the retainer and bill against milestone 2. Attach any related approval documents if available.\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddSalesOrderComment", - "qualifiedName": "ZohoBooksApi.AddSalesOrderComment", - "fullyQualifiedName": "ZohoBooksApi.AddSalesOrderComment@1.0.0", - "description": "Add a comment to a sales order in Zoho Books.\n\n This tool is used to add a comment to a specific sales order in Zoho Books. It should be called when you need to leave additional remarks or notes on a sales order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": false, - "description": "Unique identifier of the sales order to which the comment will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_sales_order_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddSalesOrderComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "sales_order_id": { - "value": "SO-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\":{\"comment\":\"Please expedite shipping. Customer requested delivery by Friday.\",\"is_private\":false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AddVendorCreditComment", - "qualifiedName": "ZohoBooksApi.AddVendorCreditComment", - "fullyQualifiedName": "ZohoBooksApi.AddVendorCreditComment@1.0.0", - "description": "Add a comment to an existing vendor credit.\n\n Use this tool to add a comment to a vendor credit in Zoho Books. It should be called when you need to attach notes or additional information to a vendor credit entry.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required to specify which organization the vendor credit belongs to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the vendor credit to which the comment will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_vendor_credit_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AddVendorCreditComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60001234567", - "type": "string", - "required": false - }, - "vendor_credit_identifier": { - "value": "9876543210", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\":{\"comment\":\"Approved after verification. Payment scheduled for next cycle.\",\"is_public\":false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApplyCreditNoteToInvoice", - "qualifiedName": "ZohoBooksApi.ApplyCreditNoteToInvoice", - "fullyQualifiedName": "ZohoBooksApi.ApplyCreditNoteToInvoice@1.0.0", - "description": "Apply credit note to existing invoices in Zoho Books.\n\n This tool applies a credit note to specific existing invoices within the Zoho Books platform. It should be called when you want to manage or adjust invoice balances by using available credit notes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization within Zoho Books to which the credit note is being applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": false, - "description": "Unique identifier of the credit note to apply to invoices. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'apply_credit_note_to_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApplyCreditNoteToInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "credit_note_id": { - "value": "CN-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"invoices\":[{\"invoice_id\":\"987654321\",\"amount_applied\":150.00},{\"invoice_id\":\"987654322\",\"amount_applied\":50.00}],\"note\":\"Applying credit note to outstanding invoices\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApplyCreditsToInvoice", - "qualifiedName": "ZohoBooksApi.ApplyCreditsToInvoice", - "fullyQualifiedName": "ZohoBooksApi.ApplyCreditsToInvoice@1.0.0", - "description": "Apply customer credits to an invoice.\n\n This tool applies customer credits, from credit notes or excess payments, to a specified invoice. It can apply multiple credits at once.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization to identify where credits are applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_unique_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the invoice to which credits will be applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'apply_credits_to_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApplyCreditsToInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "invoice_unique_identifier": { - "value": "INV-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"credits\":[{\"credit_id\":\"CRD-0001\",\"amount_applied\":150.00},{\"credit_id\":\"CRD-0002\",\"amount_applied\":25.50}],\"note\":\"Applying available credits to reduce invoice balance\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApplyVendorCreditsToBill", - "qualifiedName": "ZohoBooksApi.ApplyVendorCreditsToBill", - "fullyQualifiedName": "ZohoBooksApi.ApplyVendorCreditsToBill@1.0.0", - "description": "Apply vendor credits to a bill.\n\n This tool applies vendor credits from excess payments to a specified bill. It is useful for managing accounts and applying multiple credits at once.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization where credits are being applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the bill to apply credits to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'apply_credits_to_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApplyVendorCreditsToBill", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "bill_identifier": { - "value": "BILL-00012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_credits\": [{\"vendor_credit_id\": \"VC-1001\", \"amount_applied\": 150.00}, {\"vendor_credit_id\": \"VC-1002\", \"amount_applied\": 50.00}], \"apply_date\": \"2026-02-18\", \"notes\": \"Applying excess vendor credits to bill BILL-00012345\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApplyVendorCreditToBill", - "qualifiedName": "ZohoBooksApi.ApplyVendorCreditToBill", - "fullyQualifiedName": "ZohoBooksApi.ApplyVendorCreditToBill@1.0.0", - "description": "Apply vendor credit to an existing bill in Zoho Books.\n\n Use this tool to apply a specific vendor credit to existing bills. It helps manage and track accounts payable by adjusting bills with vendor credits.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization where the vendor credit will be applied. Required for identification within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the vendor credit to be applied to a bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'apply_credits_to_a_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApplyVendorCreditToBill", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "vendor_credit_identifier": { - "value": "VC-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_credit_id\":\"VC-2026-0001\",\"apply_to\":[{\"bill_id\":\"BILL-98765\",\"amount_applied\":150.00},{\"bill_id\":\"BILL-98766\",\"amount_applied\":50.00}],\"notes\":\"Applying vendor credit to two bills\",\"date\":\"2026-02-18\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApproveBill", - "qualifiedName": "ZohoBooksApi.ApproveBill", - "fullyQualifiedName": "ZohoBooksApi.ApproveBill@1.0.0", - "description": "Approve a bill in Zoho Books.\n\nThis tool approves a specified bill in Zoho Books. It should be used when you need to change the status of a bill to approved.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization for which the bill needs approval.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the bill to be approved in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'approve_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApproveBill", - "parameters": { - "organization_identifier": { - "value": "60000000001", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApproveCreditNote", - "qualifiedName": "ZohoBooksApi.ApproveCreditNote", - "fullyQualifiedName": "ZohoBooksApi.ApproveCreditNote@1.0.0", - "description": "Approve a credit note for a specified ID.\n\nUse this tool to approve a credit note by providing the specific credit note ID. This action confirms the validity and acceptance of the credit note within the system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the ID of the organization for which the credit note is being approved.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_identifier", - "type": "string", - "required": true, - "description": "A unique string identifier for the specific credit note to approve.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'approve_credit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApproveCreditNote", - "parameters": { - "organization_id": { - "value": "669874321", - "type": "string", - "required": true - }, - "credit_note_identifier": { - "value": "CN-2026-0453", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApproveEstimate", - "qualifiedName": "ZohoBooksApi.ApproveEstimate", - "fullyQualifiedName": "ZohoBooksApi.ApproveEstimate@1.0.0", - "description": "Approve an estimate in Zoho Books.\n\nUse this tool to approve an estimate in the Zoho Books system when you have the estimate ID. It should be called when an estimate needs to be confirmed as approved.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books whose estimate is being approved. This should be the unique identifier associated with the organization.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the estimate to be approved in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'approve_estimate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApproveEstimate", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "estimate_identifier": { - "value": "EST-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApproveInvoice", - "qualifiedName": "ZohoBooksApi.ApproveInvoice", - "fullyQualifiedName": "ZohoBooksApi.ApproveInvoice@1.0.0", - "description": "Approve a specified invoice for processing.\n\nThis tool approves a pending invoice given its ID, making it ready for processing. Call this tool when an invoice requires approval to proceed.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the invoice is to be approved.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to approve.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'approve_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApproveInvoice", - "parameters": { - "organization_identifier": { - "value": "60001234567", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApprovePurchaseOrder", - "qualifiedName": "ZohoBooksApi.ApprovePurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.ApprovePurchaseOrder@1.0.0", - "description": "Approve a purchase order.\n\nThis tool approves a specified purchase order in Zoho Books. It should be called when a purchase order needs to be authorized for further processing.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization for which to approve the purchase order. This should be a unique string identifier provided by Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the purchase order to be approved.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'approve_purchase_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApprovePurchaseOrder", - "parameters": { - "organization_id": { - "value": "66962000000012345", - "type": "string", - "required": true - }, - "purchase_order_identifier": { - "value": "669620000001234567", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApproveRetainerInvoice", - "qualifiedName": "ZohoBooksApi.ApproveRetainerInvoice", - "fullyQualifiedName": "ZohoBooksApi.ApproveRetainerInvoice@1.0.0", - "description": "Approve a retainer invoice in Zoho Books.\n\nUse this tool to approve a specific retainer invoice in Zoho Books when you have the invoice ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the retainer invoice is being approved.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice to approve.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'approve_retainer_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApproveRetainerInvoice", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "4000987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApproveSalesOrder", - "qualifiedName": "ZohoBooksApi.ApproveSalesOrder", - "fullyQualifiedName": "ZohoBooksApi.ApproveSalesOrder@1.0.0", - "description": "Approve a specified sales order in Zoho Books.\n\nUse this tool to approve a particular sales order within the Zoho Books system. This is typically called when a sales order needs to be confirmed and finalized.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books required for approving a sales order.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "The unique identifier for the sales order to be approved.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'approve_sales_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApproveSalesOrder", - "parameters": { - "organization_identifier": { - "value": "352341000000123456", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "352341000000654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ApproveVendorCredit", - "qualifiedName": "ZohoBooksApi.ApproveVendorCredit", - "fullyQualifiedName": "ZohoBooksApi.ApproveVendorCredit@1.0.0", - "description": "Approve a vendor credit in Zoho Books.\n\nThis tool approves a vendor credit in Zoho Books, marking the credit as accepted for the specified vendor credit ID.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books. This uniquely identifies the organization for which the vendor credit approval will be processed.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the vendor credit to be approved.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'approve_vendor_credit'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ApproveVendorCredit", - "parameters": { - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": true - }, - "vendor_credit_identifier": { - "value": "VC-98765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AssignUsersToProject", - "qualifiedName": "ZohoBooksApi.AssignUsersToProject", - "fullyQualifiedName": "ZohoBooksApi.AssignUsersToProject@1.0.0", - "description": "Assign users to a specific project in Zoho Books.\n\n Use this tool to assign multiple users to a project in Zoho Books when managing project teams or updating project participation.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Unique ID of the organization in Zoho Books for which users are being assigned to a project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": false, - "description": "The unique identifier for the project to which users will be assigned. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_project_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AssignUsersToProject", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "project_identifier": { - "value": "987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"users\":[{\"user_id\":\"1122334455\",\"role\":\"Developer\",\"billable\":true,\"hourly_rate\":50.0},{\"user_id\":\"2233445566\",\"role\":\"Designer\",\"billable\":false}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AssociateInvoiceWithSalesOrder", - "qualifiedName": "ZohoBooksApi.AssociateInvoiceWithSalesOrder", - "fullyQualifiedName": "ZohoBooksApi.AssociateInvoiceWithSalesOrder@1.0.0", - "description": "Link existing invoices to sales orders for tracking.\n\n This tool is used to associate existing invoices with one or more sales orders, enabling better tracking and management of orders and billing.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required for linking invoices with sales orders. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'map_invoice_with_salesorder'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AssociateInvoiceWithSalesOrder", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "537282000000123456", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"invoice_id\":\"INV-0001\",\"salesorder_ids\":[\"SO-1001\",\"SO-1002\"]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AttachExpenseReceipt", - "qualifiedName": "ZohoBooksApi.AttachExpenseReceipt", - "fullyQualifiedName": "ZohoBooksApi.AttachExpenseReceipt@1.0.0", - "description": "Attach a receipt to a specified expense.\n\nUse this tool to attach a receipt file to an existing expense record, identified by the expense ID. It is helpful when you need to provide proof or documentation for expense entries in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_id", - "type": "string", - "required": true, - "description": "Unique identifier for the expense to which the receipt will be attached.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_receipt_file", - "type": "string", - "required": false, - "description": "The file to attach as an expense receipt. Supported formats: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_expense_receipt'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AttachExpenseReceipt", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "expense_id": { - "value": "987654321098765", - "type": "string", - "required": true - }, - "expense_receipt_file": { - "value": "receipt_2026-02-18.pdf", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AttachFileToBill", - "qualifiedName": "ZohoBooksApi.AttachFileToBill", - "fullyQualifiedName": "ZohoBooksApi.AttachFileToBill@1.0.0", - "description": "Attach a file to a specific bill.\n\nUse this tool to attach a file to a specific bill in Zoho Books. It should be called when you need to upload and associate documents, such as receipts or invoices, with a bill.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books to which the bill belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bill for which the file will be attached. Use this to specify the target bill in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "file_attachment", - "type": "string", - "required": false, - "description": "File to attach to the bill. Accepted formats: gif, png, jpeg, jpg, bmp, pdf.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_bill_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AttachFileToBill", - "parameters": { - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": true - }, - "bill_id": { - "value": "987654321", - "type": "string", - "required": true - }, - "file_attachment": { - "value": "receipt-2026-02-18.pdf", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AttachFileToInvoice", - "qualifiedName": "ZohoBooksApi.AttachFileToInvoice", - "fullyQualifiedName": "ZohoBooksApi.AttachFileToInvoice@1.0.0", - "description": "Attach a file to an invoice.\n\n Use this tool to upload and attach a file to a specified retainer invoice. This is useful for adding supporting documents or additional information to invoices.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization to which the invoice belongs. Required to specify the correct entity for file attachment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the retainer invoice to which the file will be attached. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_retainer_invoice_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AttachFileToInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "9876543210", - "type": "string", - "required": false - }, - "retainer_invoice_identifier": { - "value": "RET-INV-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"file_name\":\"retainer-receipt.pdf\",\"file_content\":\"JVBERi0xLjQKJcTl8uXrp/Og0MTGCjEgMCBvYmoKPDwvTGluZWFyaXplZCAxL0wgMTAwMC9PIDMvRSAxMDk0L04gMQovVCAxMDAwPj4Kc3RyZWFtCnic7VtNb9swEL3nK4pQp2gq0gqS7QbW2m2tq0tQwqTq6gq6gq6gq6gq6gq6gq6gq6gqf8w5g76ZkY2Rz5nM7s7u7vX9f9w8pX2A8Yf4w7Yw==\",\"content_type\":\"application/pdf\",\"description\":\"Receipt for retainer payment attached to invoice RET-INV-2026-0001\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AttachFileToJournal", - "qualifiedName": "ZohoBooksApi.AttachFileToJournal", - "fullyQualifiedName": "ZohoBooksApi.AttachFileToJournal@1.0.0", - "description": "Attach a file to a Zoho Books journal entry.\n\nThis tool is used to attach a file to a specific journal entry in Zoho Books. Use it when you need to upload and associate documents or files with journal entries for record-keeping or documentation purposes.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization where the file will be attached. This is used to specify the target organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_unique_identifier", - "type": "string", - "required": true, - "description": "Provide the unique identifier for the specific journal entry to which the file will be attached.", - "enum": null, - "inferrable": true - }, - { - "name": "attachment_file_path", - "type": "string", - "required": false, - "description": "The path to the file that will be attached to the journal in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "document_to_attach", - "type": "string", - "required": false, - "description": "The document or file to be attached to the journal entry in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "total_number_of_files", - "type": "integer", - "required": false, - "description": "Specify the total number of files to be attached to the journal. Ensure this matches the actual number of attachments.", - "enum": null, - "inferrable": true - }, - { - "name": "document_identifiers", - "type": "string", - "required": false, - "description": "A string of document IDs that need to be attached. These IDs should be associated with the documents intended for attachment.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_journal_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AttachFileToJournal", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "journal_unique_identifier": { - "value": "9876543210", - "type": "string", - "required": true - }, - "attachment_file_path": { - "value": "/home/user/docs/journal_receipt.pdf", - "type": "string", - "required": false - }, - "document_to_attach": { - "value": "data:application/pdf;base64,JVBERi0xLjQKJcfs...", - "type": "string", - "required": false - }, - "total_number_of_files": { - "value": 1, - "type": "integer", - "required": false - }, - "document_identifiers": { - "value": "doc_abc123,doc_def456", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AttachFileToPurchaseOrder", - "qualifiedName": "ZohoBooksApi.AttachFileToPurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.AttachFileToPurchaseOrder@1.0.0", - "description": "Attach a file to a specified purchase order.\n\nUse this tool to attach a file to a specified purchase order in Zoho Books. Useful for adding supplementary documents or files to your existing purchase orders.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "The unique identifier of the purchase order to which the file will be attached.", - "enum": null, - "inferrable": true - }, - { - "name": "file_attachment", - "type": "string", - "required": false, - "description": "The file to attach to the purchase order. Must be one of the following formats: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, or docx.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_purchase_order_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AttachFileToPurchaseOrder", - "parameters": { - "organization_id": { - "value": "659825000000123456", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "124000000000012345", - "type": "string", - "required": true - }, - "file_attachment": { - "value": "supplier_invoice_2026-02-18.pdf", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AttachFileToSalesOrder", - "qualifiedName": "ZohoBooksApi.AttachFileToSalesOrder", - "fullyQualifiedName": "ZohoBooksApi.AttachFileToSalesOrder@1.0.0", - "description": "Attach a file to a specific sales order in Zoho Books.\n\nThis tool is used to attach a file to a specific sales order in Zoho Books. It should be called when you need to upload and associate a document with a sales order for tracking or record-keeping purposes.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order to which the file will be attached.", - "enum": null, - "inferrable": true - }, - { - "name": "file_to_attach", - "type": "string", - "required": false, - "description": "Path or identifier of the file to be attached to the sales order.", - "enum": null, - "inferrable": true - }, - { - "name": "document_file_path", - "type": "string", - "required": false, - "description": "Path to the document file that needs to be attached to the sales order.", - "enum": null, - "inferrable": true - }, - { - "name": "number_of_files", - "type": "integer", - "required": false, - "description": "Specify the total number of files to be attached to the sales order.", - "enum": null, - "inferrable": true - }, - { - "name": "document_identifiers", - "type": "string", - "required": false, - "description": "A string representing the IDs of the documents to attach. Comma-separated for multiple IDs.", - "enum": null, - "inferrable": true - }, - { - "name": "allow_sending_file_in_mail", - "type": "boolean", - "required": false, - "description": "Boolean indicating if the file can be sent in mail. True allows sending.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_sales_order_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AttachFileToSalesOrder", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "sales_order_identifier": { - "value": "SO-1001", - "type": "string", - "required": true - }, - "file_to_attach": { - "value": "/uploads/sales_orders/SO-1001/invoice_SO-1001.pdf", - "type": "string", - "required": false - }, - "document_file_path": { - "value": "/var/data/zoho_docs/invoice_SO-1001.pdf", - "type": "string", - "required": false - }, - "number_of_files": { - "value": 1, - "type": "integer", - "required": false - }, - "document_identifiers": { - "value": "doc_abc123,doc_def456", - "type": "string", - "required": false - }, - "allow_sending_file_in_mail": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "AttachInvoiceFile", - "qualifiedName": "ZohoBooksApi.AttachInvoiceFile", - "fullyQualifiedName": "ZohoBooksApi.AttachInvoiceFile@1.0.0", - "description": "Attach a file to a specified invoice.\n\nUse this tool to attach a file to a specific invoice using its ID. It is useful for adding documents related to the invoice.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization for which the invoice attachment is being added. This is required to identify the specific organization within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the invoice to attach the file to.", - "enum": null, - "inferrable": true - }, - { - "name": "file_to_attach", - "type": "string", - "required": false, - "description": "The file to be attached. Allowed extensions: gif, png, jpeg, jpg, bmp, pdf.", - "enum": null, - "inferrable": true - }, - { - "name": "send_attachment_in_email", - "type": "boolean", - "required": false, - "description": "Set to True to send the attachment with the invoice when emailed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_invoice_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.AttachInvoiceFile", - "parameters": { - "organization_identifier": { - "value": "600123456", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - }, - "file_to_attach": { - "value": "invoice_600123456_INV-2026-0001.pdf", - "type": "string", - "required": false - }, - "send_attachment_in_email": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "BulkDeleteCustomerPayments", - "qualifiedName": "ZohoBooksApi.BulkDeleteCustomerPayments", - "fullyQualifiedName": "ZohoBooksApi.BulkDeleteCustomerPayments@1.0.0", - "description": "Delete multiple customer payments efficiently.\n\nUse this tool to remove several customer payments at once in Zoho Books. It's ideal for managing large-scale payment data cleanup.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier string for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_ids_to_delete", - "type": "string", - "required": true, - "description": "Comma-separated list of payment IDs to be deleted in the bulk operation.", - "enum": null, - "inferrable": true - }, - { - "name": "perform_bulk_delete", - "type": "boolean", - "required": true, - "description": "Set to true to perform the bulk delete operation for customer payments.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_delete_customer_payments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.BulkDeleteCustomerPayments", - "parameters": { - "organization_id": { - "value": "ORG98765", - "type": "string", - "required": true - }, - "payment_ids_to_delete": { - "value": "PMT12345,PMT12346,PMT12347", - "type": "string", - "required": true - }, - "perform_bulk_delete": { - "value": true, - "type": "boolean", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CancelFixedAsset", - "qualifiedName": "ZohoBooksApi.CancelFixedAsset", - "fullyQualifiedName": "ZohoBooksApi.CancelFixedAsset@1.0.0", - "description": "Cancel a fixed asset in Zoho Books.\n\nUse this tool to cancel a fixed asset in Zoho Books by providing the fixed asset ID. This changes the status of the asset to canceled.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. Required to specify which organization's fixed asset to cancel.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_id", - "type": "string", - "required": true, - "description": "Unique identifier for the fixed asset to be canceled.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_fixed_asset_cancel'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CancelFixedAsset", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "fixed_asset_id": { - "value": "FA-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CancelPurchaseOrder", - "qualifiedName": "ZohoBooksApi.CancelPurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.CancelPurchaseOrder@1.0.0", - "description": "Cancel a specific purchase order in Zoho Books.\n\nUse this tool to mark a purchase order as cancelled within the Zoho Books platform. This is useful when an order needs to be invalidated or stopped.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The identifier for the organization in Zoho Books. This ID is required to specify which organization's purchase order should be cancelled.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "The unique identifier of the purchase order to be cancelled.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_purchase_order_cancelled'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CancelPurchaseOrder", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "PO-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CancelWriteOffInvoice", - "qualifiedName": "ZohoBooksApi.CancelWriteOffInvoice", - "fullyQualifiedName": "ZohoBooksApi.CancelWriteOffInvoice@1.0.0", - "description": "Cancel the write-off amount of an invoice in Zoho Books.\n\nUse this tool to revert the write-off process of an invoice in Zoho Books. This action can be performed when an invoice's write-off needs to be canceled, typically to amend financial records or correct a mistake.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books whose invoice write-off is to be canceled.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_unique_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the invoice whose write-off is to be canceled.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'cancel_write_off_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CancelWriteOffInvoice", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "invoice_unique_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CategorizeBankTransaction", - "qualifiedName": "ZohoBooksApi.CategorizeBankTransaction", - "fullyQualifiedName": "ZohoBooksApi.CategorizeBankTransaction@1.0.0", - "description": "Categorize an uncategorized bank transaction.\n\n This tool categorizes an uncategorized bank transaction by creating a new transaction. Use it when a bank transaction needs to be classified into a specific category.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "Provide the ID of the organization to categorize the transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": false, - "description": "Unique identifier of the bank transaction to be categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'categorize_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CategorizeBankTransaction", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "ORG123456789", - "type": "string", - "required": false - }, - "bank_transaction_id": { - "value": "BTX-00012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"transaction_type\":\"expense\",\"date\":\"2026-02-15\",\"amount\":150.00,\"currency\":\"USD\",\"contact_id\":\"CNT-98765\",\"line_items\":[{\"description\":\"Office supplies\",\"account_id\":\"ACCT-54321\",\"amount\":150.00}],\"notes\":\"Categorized from bank feed\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CategorizeBankTransactionAsExpense", - "qualifiedName": "ZohoBooksApi.CategorizeBankTransactionAsExpense", - "fullyQualifiedName": "ZohoBooksApi.CategorizeBankTransactionAsExpense@1.0.0", - "description": "Categorize an uncategorized bank transaction as an expense.\n\n Use this tool to classify an uncategorized bank transaction as an expense in Zoho Books. It should be called when a user needs to organize their financial records by assigning a transaction to the expense category.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books. Required to identify which organization's transaction is being categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": false, - "description": "Unique identifier for the bank transaction to be categorized as an expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "attachment_document", - "type": "string", - "required": false, - "description": "Document file to attach with the transaction as a string (e.g., base64 encoded or URL). Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "total_number_of_files", - "type": "integer", - "required": false, - "description": "Total count of files to be attached to the transaction. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "document_identifiers", - "type": "integer", - "required": false, - "description": "Comma-separated list of document IDs to be attached to the transaction. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'categorize_bank_transaction_as_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CategorizeBankTransactionAsExpense", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": false - }, - "bank_transaction_id": { - "value": "BTX-987654321", - "type": "string", - "required": false - }, - "attachment_document": { - "value": "https://example.com/receipts/receipt1.jpg", - "type": "string", - "required": false - }, - "total_number_of_files": { - "value": 1, - "type": "integer", - "required": false - }, - "document_identifiers": { - "value": "456,789", - "type": "integer", - "required": false - }, - "request_body": { - "value": "{\"expense_account_id\":\"100200\",\"amount\":150.75,\"transaction_date\":\"2026-02-18\",\"vendor_name\":\"Office Supplies Inc.\",\"description\":\"Purchase of printer paper and ink\",\"currency_id\":\"USD\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CategorizeBankTransactionPaymentRefund", - "qualifiedName": "ZohoBooksApi.CategorizeBankTransactionPaymentRefund", - "fullyQualifiedName": "ZohoBooksApi.CategorizeBankTransactionPaymentRefund@1.0.0", - "description": "Categorize bank transactions as payment refunds.\n\n Use this tool to categorize uncategorized bank transactions specifically as payment refunds in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_statement_line_id", - "type": "string", - "required": false, - "description": "Unique identifier for the bank statement line to be categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'categorize_bank_transaction_as_payment_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CategorizeBankTransactionPaymentRefund", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "bank_statement_line_id": { - "value": "BSL-456789", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"payment_refund\": {\"refund_account_id\": \"3216549870\", \"amount\": 150.00, \"date\": \"2026-02-15\", \"contact_id\": \"9876543210\", \"reference_number\": \"RF-2026-001\", \"notes\": \"Refund for overpayment on invoice INV-2025-123\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CategorizeRefundVendorCredit", - "qualifiedName": "ZohoBooksApi.CategorizeRefundVendorCredit", - "fullyQualifiedName": "ZohoBooksApi.CategorizeRefundVendorCredit@1.0.0", - "description": "Categorize transactions as vendor credit refunds.\n\n Use this tool to categorize an uncategorized transaction as a refund from a vendor credit in Zoho Books. Call this tool when you need to identify and organize transactions involving vendor credit refunds.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Specify the ID of the organization for which the transaction is being categorized as a vendor credit refund. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": false, - "description": "Unique identifier of the bank transaction to categorize as a vendor credit refund. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'categorize_as_vendor_credit_refunds'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CategorizeRefundVendorCredit", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "bank_transaction_id": { - "value": "BT-987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_credit_id\":\"VC-1001\",\"applied_amount\":150.00,\"currency\":\"USD\",\"date\":\"2026-02-10\",\"notes\":\"Applied vendor credit as refund for bank transaction BT-987654321\",\"account_id\":\"ACC-2002\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CategorizeTransactionAsPayment", - "qualifiedName": "ZohoBooksApi.CategorizeTransactionAsPayment", - "fullyQualifiedName": "ZohoBooksApi.CategorizeTransactionAsPayment@1.0.0", - "description": "Categorize an uncategorized transaction as a Customer Payment.\n\n Use this tool to categorize an uncategorized bank transaction as a Customer Payment in Zoho Books. This should be called when you need to update the categorization status of bank transactions.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization in Zoho Books for which the transaction is being categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": false, - "description": "Unique identifier of the bank transaction to be categorized as Customer Payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'categorize_bank_transaction_as_customer_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CategorizeTransactionAsPayment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "bank_transaction_id": { - "value": "BTX-987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"CUST-1001\",\"date\":\"2026-02-10\",\"amount\":250.75,\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"PAY-20260210-01\",\"account_id\":\"ACCT-2001\",\"description\":\"Categorized as customer payment via API\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CategorizeTransactionAsRefund", - "qualifiedName": "ZohoBooksApi.CategorizeTransactionAsRefund", - "fullyQualifiedName": "ZohoBooksApi.CategorizeTransactionAsRefund@1.0.0", - "description": "Categorize a transaction as a credit note refund.\n\n Use this tool to categorize an uncategorized bank transaction specifically as a refund from a credit note.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Must match the organization in Zoho Books to categorize transactions accurately. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_id", - "type": "string", - "required": false, - "description": "Unique identifier of the bank transaction to categorize as a refund from a credit note. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'categorize_as_credit_note_refunds'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CategorizeTransactionAsRefund", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "transaction_id": { - "value": "TXN-98765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"credit_note_id\":\"CN-1001\",\"refund_amount\":150.00,\"refund_date\":\"2026-02-15\",\"notes\":\"Refund processed against credit note CN-1001\",\"bank_account_id\":\"BANK-12345\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CategorizeTransactionAsVendorPayment", - "qualifiedName": "ZohoBooksApi.CategorizeTransactionAsVendorPayment", - "fullyQualifiedName": "ZohoBooksApi.CategorizeTransactionAsVendorPayment@1.0.0", - "description": "Categorize a bank transaction as a vendor payment.\n\n Use this tool to categorize an uncategorized bank transaction as a vendor payment in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique string ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_id", - "type": "string", - "required": false, - "description": "Unique identifier of the bank transaction to categorize as vendor payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'categorize_bank_transaction_as_vendor_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CategorizeTransactionAsVendorPayment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60001234567", - "type": "string", - "required": false - }, - "transaction_id": { - "value": "BTX-89012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"123456789\",\"payment_account_id\":\"987654321\",\"amount\":1500.00,\"payment_date\":\"2024-02-15\",\"reference_number\":\"INV-PAY-20240215\",\"notes\":\"Payment for invoices INV-1001, INV-1002\",\"invoices\":[{\"invoice_id\":\"INV-1001\",\"amount_applied\":1000.00},{\"invoice_id\":\"INV-1002\",\"amount_applied\":500.00}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CategorizeVendorPaymentRefund", - "qualifiedName": "ZohoBooksApi.CategorizeVendorPaymentRefund", - "fullyQualifiedName": "ZohoBooksApi.CategorizeVendorPaymentRefund@1.0.0", - "description": "Categorize bank transactions as Vendor Payment Refund.\n\n Use this tool to categorize uncategorized bank transactions as vendor payment refunds. It should be called when organizing financial data related to refunds from vendors.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization whose transactions are being categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_statement_line_id", - "type": "string", - "required": false, - "description": "Unique identifier for the bank statement line to categorize as Vendor Payment Refund. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'categorize_as_vendor_payment_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CategorizeVendorPaymentRefund", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "bank_statement_line_id": { - "value": "BSL-20260210-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"VENDOR-00123\",\"amount\":250.00,\"currency_code\":\"USD\",\"transaction_date\":\"2026-02-10\",\"reference_number\":\"REF-20260210-01\",\"notes\":\"Refund from vendor for returned items.\",\"account_id\":\"BANK-ACC-456789\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CloneProject", - "qualifiedName": "ZohoBooksApi.CloneProject", - "fullyQualifiedName": "ZohoBooksApi.CloneProject@1.0.0", - "description": "Clone an existing project in Zoho Books.\n\n Use this tool to create a copy of an existing project in Zoho Books. It's useful for duplicating project setups with similar parameters or settings.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "project_unique_identifier", - "type": "string", - "required": false, - "description": "Unique string identifier of the project to be cloned. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'clone_project'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CloneProject", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1122334455", - "type": "string", - "required": false - }, - "project_unique_identifier": { - "value": "proj_abc123", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"name\":\"Website Redesign (Clone)\",\"owner_id\":\"987654321\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-06-30\",\"billable\":true,\"budget_hours\":200,\"tags\":[\"redesign\",\"high-priority\"]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ConvertCreditNoteToDraft", - "qualifiedName": "ZohoBooksApi.ConvertCreditNoteToDraft", - "fullyQualifiedName": "ZohoBooksApi.ConvertCreditNoteToDraft@1.0.0", - "description": "Convert a voided credit note to a draft status.\n\nUse this tool to change the status of a voided credit note back to draft in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to be converted to draft.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_credit_note_draft'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ConvertCreditNoteToDraft", - "parameters": { - "organization_id": { - "value": "100000000000123", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "200000000000456", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ConvertPurchaseOrderToBill", - "qualifiedName": "ZohoBooksApi.ConvertPurchaseOrderToBill", - "fullyQualifiedName": "ZohoBooksApi.ConvertPurchaseOrderToBill@1.0.0", - "description": "Fetch bill payload from purchase orders.\n\nThis tool retrieves the bill payload for selected purchase orders using their IDs. It should be called when you want to convert purchase orders into a bill. After obtaining the payload, use it to create a bill in the system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Enter the ID of the organization for which the bill will be created.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_ids", - "type": "string", - "required": true, - "description": "Comma-separated IDs of the purchase orders to be converted into a bill.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'convert_purchase_order_to_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ConvertPurchaseOrderToBill", - "parameters": { - "organization_id": { - "value": "987654321", - "type": "string", - "required": true - }, - "purchase_order_ids": { - "value": "1122334455,2233445566", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateAssociatedTax", - "qualifiedName": "ZohoBooksApi.CreateAssociatedTax", - "fullyQualifiedName": "ZohoBooksApi.CreateAssociatedTax@1.0.0", - "description": "Create and associate a tax with an item.\n\n This tool creates a tax that can be added to an item within the Zoho Books system. It is used when a new tax needs to be defined and linked to specific goods or services.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization in Zoho Books where the tax will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_tax'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateAssociatedTax", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"tax\":{\"tax_name\":\"Service Tax\",\"tax_rate\":8,\"is_compound\":false,\"is_active\":true},\"associate_with\":{\"item_ids\":[\"9876543210\"]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateBankAccount", - "qualifiedName": "ZohoBooksApi.CreateBankAccount", - "fullyQualifiedName": "ZohoBooksApi.CreateBankAccount@1.0.0", - "description": "Create a bank or credit card account in your organization.\n\n This tool is used to create a new bank account or credit card account for your organization via Zoho Books. Call this tool when you need to add financial accounts to manage and track transactions in your organization's accounting system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which to create the bank or credit card account. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_bank_account'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateBankAccount", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "678901234567890", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"account_name\":\"Operating Account\",\"account_type\":\"bank\",\"bank_name\":\"First National Bank\",\"account_number\":\"1234567890\",\"routing_number\":\"021000021\",\"currency_code\":\"USD\",\"opening_balance\":5000.00,\"description\":\"Main operating checking account\",\"is_active\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateBankTransaction", - "qualifiedName": "ZohoBooksApi.CreateBankTransaction", - "fullyQualifiedName": "ZohoBooksApi.CreateBankTransaction@1.0.0", - "description": "Creates a bank transaction in Zoho Books.\n\n This tool is used to create a bank transaction within Zoho Books. It should be called when a user needs to log a financial transaction using allowed transaction types.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the bank transaction is to be created. This ID helps identify the specific organization within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateBankTransaction", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"bank_transaction\":{\"transaction_type\":\"deposit\",\"account_id\":\"9876543210\",\"date\":\"2026-02-10\",\"amount\":1500.00,\"payment_mode\":\"Cheque\",\"reference_number\":\"CHK-20260210-001\",\"description\":\"Client refund for invoice INV-1001\",\"contact_id\":\"54321\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateBusinessContact", - "qualifiedName": "ZohoBooksApi.CreateBusinessContact", - "fullyQualifiedName": "ZohoBooksApi.CreateBusinessContact@1.0.0", - "description": "Create a new business contact with comprehensive details.\n\n Use this tool to create a contact in Zoho Books with information such as name, company details, addresses, and more. This contact can be utilized for various business transactions like invoices and estimates.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the contact is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_contact'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateBusinessContact", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"contact_name\":\"Jane Smith\",\"company_name\":\"Greenfield Consulting LLC\",\"contact_type\":\"customer\",\"display_name\":\"Greenfield Consulting\",\"email\":\"jane.smith@greenfieldconsulting.com\",\"phone\":\"+1-555-123-4567\",\"mobile\":\"+1-555-987-6543\",\"fax\":\"+1-555-111-2222\",\"website\":\"https://www.greenfieldconsulting.com\",\"is_taxable\":true,\"tax_id\":\"GSTIN123456\",\"currency_id\":\"USD\",\"payment_terms\":30,\"bill_address\":{\"address\":\"100 Market St, Suite 500\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"100 Market St, Suite 500\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"contact_persons\":[{\"first_name\":\"Jane\",\"last_name\":\"Smith\",\"email\":\"jane.smith@greenfieldconsulting.com\",\"phone\":\"+1-555-123-4567\",\"is_primary_contact\":true}],\"notes\":\"Primary point of contact for consulting engagements. Payment terms: Net 30.\",\"custom_fields\":[{\"label\":\"Industry\",\"value\":\"Consulting\"},{\"label\":\"Account Manager\",\"value\":\"Carlos Mendez\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateChartOfAccount", - "qualifiedName": "ZohoBooksApi.CreateChartOfAccount", - "fullyQualifiedName": "ZohoBooksApi.CreateChartOfAccount@1.0.0", - "description": "Creates an account with a specified account type.\n\n This tool is used to create a new account within the chart of accounts by specifying the type of account desired. It is suitable when setting up financial frameworks or managing accounting structures.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the account is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_chart_of_account'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateChartOfAccount", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"account\": {\"account_name\": \"Office Supplies\",\"account_type\": \"Expense\",\"account_code\": \"EXP-0023\",\"description\": \"Expenses for office supplies and stationery\",\"parent_account_id\": \"9876543210\",\"is_bank_account\": false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateContactPerson", - "qualifiedName": "ZohoBooksApi.CreateContactPerson", - "fullyQualifiedName": "ZohoBooksApi.CreateContactPerson@1.0.0", - "description": "Create a contact person for a contact in Zoho Books.\n\n Use this tool to add a new contact person associated with a contact in Zoho Books. It facilitates managing additional contact person details within the platform.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization where the contact person will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_contact_person'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateContactPerson", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"contact_person\":{\"contact_id\":\"9876543210\",\"first_name\":\"Jane\",\"last_name\":\"Smith\",\"email\":\"jane.smith@example.com\",\"phone\":\"555-1234\",\"mobile\":\"555-5678\",\"is_primary_contact\":true,\"salutation\":\"Ms.\",\"designation\":\"Director\",\"department\":\"Marketing\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateCreditNote", - "qualifiedName": "ZohoBooksApi.CreateCreditNote", - "fullyQualifiedName": "ZohoBooksApi.CreateCreditNote@1.0.0", - "description": "Create a new credit note for customer adjustments.\n\n Use this tool to create a credit note when issuing credits to customers for reasons such as returned items, overpayments, or necessary adjustments. It supports multi-currency, custom line items, tax calculations, and workflows.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the credit note is being created. Required for identifying the correct entity within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_id", - "type": "string", - "required": false, - "description": "Invoice ID for the required invoice to associate with the credit note. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "use_custom_credit_note_number", - "type": "boolean", - "required": false, - "description": "Set to true to provide your own credit note number, bypassing auto-numbering. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_credit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateCreditNote", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "ORG-55555", - "type": "string", - "required": false - }, - "invoice_id": { - "value": "INV-1001", - "type": "string", - "required": false - }, - "use_custom_credit_note_number": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"creditnote\":{\"customer_id\":\"1234567890\",\"date\":\"2026-02-15\",\"reference_number\":\"Return-2026-02-15\",\"creditnote_number\":\"CN-2026-0001\",\"currency_code\":\"USD\",\"exchange_rate\":1.0,\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Returned widget\",\"quantity\":2,\"rate\":49.99,\"tax_id\":\"TAX123\"},{\"description\":\"Adjustment for overcharge\",\"quantity\":1,\"rate\":15.0}],\"notes\":\"Issued for returned items and overcharge correction.\",\"status\":\"issued\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateCurrency", - "qualifiedName": "ZohoBooksApi.CreateCurrency", - "fullyQualifiedName": "ZohoBooksApi.CreateCurrency@1.0.0", - "description": "Create a currency for transactions in Zoho Books.\n\n Use this tool to add a new currency for use in transactions within Zoho Books. This is useful when expanding the supported currencies for financial activities.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the currency is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_currency'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateCurrency", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"code\":\"EUR\",\"name\":\"Euro\",\"symbol\":\"€\",\"currency_format\":\"symbol_first\",\"exchange_rate\":1.0,\"decimal_places\":2,\"is_active\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateCurrencyAdjustment", - "qualifiedName": "ZohoBooksApi.CreateCurrencyAdjustment", - "fullyQualifiedName": "ZohoBooksApi.CreateCurrencyAdjustment@1.0.0", - "description": "Create a base currency adjustment.\n\n This tool creates an adjustment to the base currency based on the provided information. It is used to update and manage currency values in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. Required for currency adjustments. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "account_identifiers", - "type": "string", - "required": false, - "description": "Comma-separated IDs of accounts for currency adjustments in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_base_currency_adjustment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateCurrencyAdjustment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "org_123456789", - "type": "string", - "required": false - }, - "account_identifiers": { - "value": "acct_1001,acct_1002", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"date\":\"2026-02-01\",\"reference_number\":\"ADJ-2026-0001\",\"description\":\"Adjustment due to revaluation of base currency\",\"adjustments\":[{\"account_id\":\"acct_1001\",\"amount\":1500.00,\"currency_code\":\"USD\",\"exchange_rate\":1.0},{\"account_id\":\"acct_1002\",\"amount\":-1500.00,\"currency_code\":\"EUR\",\"exchange_rate\":0.92}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateCustomerDebitNote", - "qualifiedName": "ZohoBooksApi.CreateCustomerDebitNote", - "fullyQualifiedName": "ZohoBooksApi.CreateCustomerDebitNote@1.0.0", - "description": "Create a customer debit note for invoice adjustments.\n\n This tool is used to create a customer debit note when there are additional charges or adjustments needed for an existing invoice in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "A unique identifier for the organization to which the debit note will be associated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_debit_note", - "type": "boolean", - "required": false, - "description": "Set to true to send the debit note to the associated contacts. Accepts true or false. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to ignore automatic debit note number generation, requiring manual entry. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_customer_debit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateCustomerDebitNote", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "send_debit_note": { - "value": true, - "type": "boolean", - "required": false - }, - "ignore_auto_number_generation": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"9876543210\",\"invoice_id\":\"555666777\",\"date\":\"2026-02-18\",\"reference_number\":\"DN-2026-001\",\"line_items\":[{\"item_id\":\"111222333\",\"description\":\"Adjustment for additional shipping\",\"quantity\":1,\"rate\":25.0,\"account_id\":\"777888999\",\"tax_id\":\"444555666\"}],\"notes\":\"Debit note issued to capture additional shipping charge.\",\"billing_address\":{\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateCustomerEstimate", - "qualifiedName": "ZohoBooksApi.CreateCustomerEstimate", - "fullyQualifiedName": "ZohoBooksApi.CreateCustomerEstimate@1.0.0", - "description": "Create an estimate for a customer using Zoho Books.\n\n Use this tool to generate a new estimate for a customer within the Zoho Books system. This could be useful when users need to provide potential price quotes or service costs to clients.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the estimate is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_estimate_to_contact", - "type": "boolean", - "required": false, - "description": "Set to true to send the estimate to the contact person(s) associated with it, false to skip sending. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_automatic_estimate_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to bypass automatic estimate number generation. This requires specifying an estimate number. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_estimate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateCustomerEstimate", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "369182740", - "type": "string", - "required": false - }, - "send_estimate_to_contact": { - "value": true, - "type": "boolean", - "required": false - }, - "ignore_automatic_estimate_number_generation": { - "value": false, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"987654321\",\"date\":\"2026-03-01\",\"expiry_date\":\"2026-03-31\",\"estimate_number\":\"EST-2026-001\",\"reference_number\":\"REF-001\",\"line_items\":[{\"item_id\":\"11111\",\"name\":\"Website Design\",\"description\":\"Responsive website design, up to 5 pages\",\"rate\":1500.00,\"quantity\":1,\"taxes\":[{\"name\":\"GST\",\"percentage\":18}]},{\"item_id\":\"22222\",\"name\":\"Monthly Hosting\",\"description\":\"Hosting and maintenance\",\"rate\":50.00,\"quantity\":12}],\"discount\":100.0,\"billing_address\":{\"address\":\"123 Main St\",\"city\":\"Mumbai\",\"state\":\"Maharashtra\",\"zip\":\"400001\",\"country\":\"India\"},\"shipping_address\":{\"address\":\"123 Main St\",\"city\":\"Mumbai\",\"state\":\"Maharashtra\",\"zip\":\"400001\",\"country\":\"India\"},\"notes\":\"Estimate valid for 30 days\",\"terms\":\"Payment due within 30 days\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateCustomerInvoice", - "qualifiedName": "ZohoBooksApi.CreateCustomerInvoice", - "fullyQualifiedName": "ZohoBooksApi.CreateCustomerInvoice@1.0.0", - "description": "Create an invoice for your customer.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the invoice is created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_invoice_to_contacts", - "type": "boolean", - "required": false, - "description": "Boolean to determine if the invoice is sent to the contact persons. Use 'true' to send, 'false' otherwise. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to ignore auto invoice number generation, requiring manual input. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "enable_quick_create_mode", - "type": "boolean", - "required": false, - "description": "Enable quick create mode for streamlined invoice creation with minimal required fields. Set to true for activation. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "enable_batch_payments", - "type": "boolean", - "required": false, - "description": "Enable batch payment processing for the invoice. True means the invoice is included in batch operations. Requires 'is_quick_create' to be true. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateCustomerInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6543210000000001", - "type": "string", - "required": false - }, - "send_invoice_to_contacts": { - "value": true, - "type": "boolean", - "required": false - }, - "ignore_auto_number_generation": { - "value": false, - "type": "boolean", - "required": false - }, - "enable_quick_create_mode": { - "value": true, - "type": "boolean", - "required": false - }, - "enable_batch_payments": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"123456789012345\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-04\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Consulting services\",\"rate\":150.0,\"quantity\":10}],\"reference_number\":\"INV-1001\",\"notes\":\"Thank you for your business.\",\"terms\":\"Net 14\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateCustomerPayment", - "qualifiedName": "ZohoBooksApi.CreateCustomerPayment", - "fullyQualifiedName": "ZohoBooksApi.CreateCustomerPayment@1.0.0", - "description": "Create a new customer payment in Zoho Books.\n\n Use this tool to record a new payment for a customer in Zoho Books. It should be called when you need to add a payment entry for accounting purposes or to update a customer's payment status.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. This is necessary to associate the payment with the correct organization. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_customer_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateCustomerPayment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "373948302", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"84291000000012345\",\"payment_mode\":\"Online\",\"amount\":1500.00,\"date\":\"2026-02-18\",\"reference_number\":\"PAY-20260218-001\",\"description\":\"Payment for invoice INV-1001\",\"bank_account_id\":\"84091000000054321\",\"invoices\":[{\"invoice_id\":\"84091000000067890\",\"amount_applied\":1500.00}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateCustomModule", - "qualifiedName": "ZohoBooksApi.CreateCustomModule", - "fullyQualifiedName": "ZohoBooksApi.CreateCustomModule@1.0.0", - "description": "Creates a custom module in Zoho Books.\n\n Use this tool to create a custom module in Zoho Books. Specify the module name as needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the custom module is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_module_name", - "type": "string", - "required": false, - "description": "Specify the name for the custom module to be created in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.custommodules.ALL" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_custom_module'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateCustomModule", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "custom_module_name": { - "value": "ProjectTasks", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"module_name\":\"ProjectTasks\",\"singular_label\":\"Project Task\",\"plural_label\":\"Project Tasks\",\"description\":\"Custom module for tracking project tasks\",\"modules_fields\":[{\"label\":\"Task Name\",\"data_type\":\"text\",\"required\":true},{\"label\":\"Start Date\",\"data_type\":\"date\",\"required\":false},{\"label\":\"Due Date\",\"data_type\":\"date\",\"required\":false},{\"label\":\"Assigned To\",\"data_type\":\"user\",\"required\":false},{\"label\":\"Status\",\"data_type\":\"picklist\",\"pick_list_values\":[\"Not Started\",\"In Progress\",\"Completed\"],\"required\":false},{\"label\":\"Estimate Hours\",\"data_type\":\"number\",\"required\":false}],\"is_feeds_enabled\":false,\"is_custom\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateEmployeeForExpense", - "qualifiedName": "ZohoBooksApi.CreateEmployeeForExpense", - "fullyQualifiedName": "ZohoBooksApi.CreateEmployeeForExpense@1.0.0", - "description": "Create an employee for an expense record in Zoho Books.\n\n This tool is used to create a new employee entry for the purpose of logging an expense in Zoho Books. It should be called when there is a need to register an employee related to specific expenses.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books where the employee will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_employee'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateEmployeeForExpense", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"employee\":{\"first_name\":\"Jane\",\"last_name\":\"Doe\",\"email\":\"jane.doe@example.com\",\"employee_id\":\"EMP-1024\",\"designation\":\"Sales Executive\",\"mobile\":\"+15550102\",\"department\":\"Sales\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateExchangeRate", - "qualifiedName": "ZohoBooksApi.CreateExchangeRate", - "fullyQualifiedName": "ZohoBooksApi.CreateExchangeRate@1.0.0", - "description": "Create an exchange rate for a specified currency.\n\n This tool should be called when you need to create a new exchange rate for a specific currency in Zoho Books. It allows you to define exchange rates between specified currencies.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the exchange rate is being created. This must be a unique identifier within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "currency_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the currency used to create the exchange rate in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_exchange_rate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateExchangeRate", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "currency_identifier": { - "value": "EUR", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"exchange_rate\": {\"base_currency\": \"USD\", \"currency_code\": \"EUR\", \"rate\": 0.92, \"effective_date\": \"2026-02-18\", \"notes\": \"Quarterly update\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateExpense", - "qualifiedName": "ZohoBooksApi.CreateExpense", - "fullyQualifiedName": "ZohoBooksApi.CreateExpense@1.0.0", - "description": "Create a billable or non-billable expense record.\n\n Use this tool to create an expense entry that can be marked as billable or non-billable. Ideal for tracking expenses in your financial system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the expense is being recorded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_receipt_file", - "type": "string", - "required": false, - "description": "File path or URL for the expense receipt. Accepted formats: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateExpense", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "expense_receipt_file": { - "value": "https://example.com/receipts/taxi-2026-02-15.jpg", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"date\":\"2026-02-15\",\"account_id\":\"123456789\",\"vendor_id\":\"987654321\",\"amount\":125.5,\"currency_code\":\"USD\",\"description\":\"Taxi fare from airport to client site\",\"is_billable\":true,\"customer_id\":\"54321\",\"project_id\":\"112233\",\"reference_number\":\"TX-2026-0215\",\"notes\":\"Receipt attached\",\"line_items\":[{\"item_id\":\"1001\",\"description\":\"Taxi fare\",\"quantity\":1,\"rate\":125.5}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateFinancialAccountRule", - "qualifiedName": "ZohoBooksApi.CreateFinancialAccountRule", - "fullyQualifiedName": "ZohoBooksApi.CreateFinancialAccountRule@1.0.0", - "description": "Create and apply rules for banking and credit accounts.\n\n This tool allows you to create a rule for deposits, withdrawals, refunds, or charges on bank and credit card accounts. It should be called when you need to automate financial processes by setting specific rules for account transactions.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Used to specify which organization's account rules are being altered. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_bank_account_rule'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateFinancialAccountRule", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6001970000001234567", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"rule_name\":\"Auto Categorize PayPal Sales\",\"account_id\":\"987654321\",\"transaction_type\":\"deposit\",\"match_conditions\":[{\"field\":\"description\",\"operator\":\"contains\",\"value\":\"PayPal\"},{\"field\":\"amount\",\"operator\":\"greater_than\",\"value\":0}],\"actions\":[{\"action_type\":\"set_account\",\"account_code\":\"4000\"},{\"action_type\":\"apply_tax\",\"tax_name\":\"Sales Tax\",\"tax_percent\":8.5}],\"apply_to_existing\":true,\"is_active\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateFixedAsset", - "qualifiedName": "ZohoBooksApi.CreateFixedAsset", - "fullyQualifiedName": "ZohoBooksApi.CreateFixedAsset@1.0.0", - "description": "Create a fixed asset in Zoho Books.\n\n This tool is used to create a fixed asset in the Zoho Books platform. It should be called when a user wants to register a new fixed asset in their accounting records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books for which the fixed asset is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_fixed_asset'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateFixedAsset", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"asset_name\":\"Office Laptop - Dell XPS 13\",\"asset_code\":\"FA-2026-001\",\"description\":\"Laptop for marketing manager\",\"acquisition_date\":\"2026-01-15\",\"cost\":1499.00,\"salvage_value\":100.00,\"depreciation_method\":\"straight_line\",\"useful_life_years\":3,\"depreciation_start_date\":\"2026-01-31\",\"vendor_name\":\"Dell Inc.\",\"purchase_document_number\":\"INV-2026-450\",\"location\":\"New York Office - 5th Floor\",\"serial_number\":\"SN123456789\",\"warranty_expiry_date\":\"2029-01-15\",\"notes\":\"Assigned to Jane Doe\",\"purchase_account_id\":\"4001\",\"opening_book_value\":1499.00}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateFixedAssetType", - "qualifiedName": "ZohoBooksApi.CreateFixedAssetType", - "fullyQualifiedName": "ZohoBooksApi.CreateFixedAssetType@1.0.0", - "description": "Create a fixed asset type in Zoho Books.\n\n Use this tool to create a new fixed asset type in Zoho Books whenever you need to categorize assets. It facilitates asset management by defining specific asset categories.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which to create the fixed asset type. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_fixed_asset_type'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateFixedAssetType", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"asset_type_name\":\"Computer Equipment\",\"description\":\"Laptops, desktops and peripherals used by staff\",\"depreciation_method\":\"STRAIGHT_LINE\",\"useful_life_years\":5,\"depreciation_rate\":20,\"salvage_value\":0,\"asset_account_id\":\"4000123456\",\"taxable\":false,\"asset_code_prefix\":\"COMP-\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateInvoiceFromSalesOrder", - "qualifiedName": "ZohoBooksApi.CreateInvoiceFromSalesOrder", - "fullyQualifiedName": "ZohoBooksApi.CreateInvoiceFromSalesOrder@1.0.0", - "description": "Create an invoice from a confirmed sales order.\n\nUse this tool to instantly generate an invoice based on confirmed sales orders. Ideal for automating billing processes directly from sales orders.", - "parameters": [ - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "The unique identifier of the confirmed sales order to create an invoice for.", - "enum": null, - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the invoice is being created. This must be a valid string ID.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_invoice_from_salesorder'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateInvoiceFromSalesOrder", - "parameters": { - "sales_order_id": { - "value": "SO-2026-000123", - "type": "string", - "required": true - }, - "organization_id": { - "value": "987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateJournalEntry", - "qualifiedName": "ZohoBooksApi.CreateJournalEntry", - "fullyQualifiedName": "ZohoBooksApi.CreateJournalEntry@1.0.0", - "description": "Create a journal entry in Zoho Books.\n\n Use this tool to add a new journal entry in Zoho Books. It should be called when there's a need to record financial transactions manually.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_journal'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateJournalEntry", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "5412345678901234567", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"journal_date\":\"2026-02-18\",\"reference_number\":\"JE-1001\",\"notes\":\"Adjusting accruals for February\",\"journal_entries\":[{\"account_id\":\"123456789012345\",\"debit_or_credit\":\"debit\",\"amount\":1500.00,\"description\":\"Accrued expenses\"},{\"account_id\":\"987654321098765\",\"debit_or_credit\":\"credit\",\"amount\":1500.00,\"description\":\"Accrual liability\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateNewZohoItem", - "qualifiedName": "ZohoBooksApi.CreateNewZohoItem", - "fullyQualifiedName": "ZohoBooksApi.CreateNewZohoItem@1.0.0", - "description": "Create a new item in Zoho Books inventory.\n\n Use this tool to create a new item in Zoho Books. This is useful for adding products or services to your Zoho inventory for tracking purposes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_item'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateNewZohoItem", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"name\":\"Acme Precision Widget\",\"sku\":\"ACME-PW-001\",\"description\":\"High-precision widget for industrial use.\",\"rate\":29.95,\"purchase_rate\":18.5,\"unit\":\"pcs\",\"is_stock_tracked\":true,\"initial_stock\":150,\"opening_stock_rate\":18.5,\"tax_id\":\"9876543210\",\"is_taxable\":true,\"product_type\":\"goods\",\"sales_account_id\":\"4000000001\",\"purchase_account_id\":\"5000000001\",\"status\":\"active\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateOpeningBalance", - "qualifiedName": "ZohoBooksApi.CreateOpeningBalance", - "fullyQualifiedName": "ZohoBooksApi.CreateOpeningBalance@1.0.0", - "description": "Creates an opening balance for accounts.\n\n Use this tool to create an opening balance with specified account information in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the opening balance is being created. This ID is required to specify the target organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_opening_balance'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateOpeningBalance", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"account_id\":\"987654321\",\"date\":\"2024-01-01\",\"amount\":15000.00,\"currency_code\":\"USD\",\"notes\":\"Opening balance as of 2024-01-01\",\"reference_number\":\"OB-2024-0001\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateOrganizationInZohoBooks", - "qualifiedName": "ZohoBooksApi.CreateOrganizationInZohoBooks", - "fullyQualifiedName": "ZohoBooksApi.CreateOrganizationInZohoBooks@1.0.0", - "description": "Create a new organization in Zoho Books.\n\n Use this tool to create a new organization in the Zoho Books platform. It is called when there's a need to add organizational details to Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization to be created in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_organization'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateOrganizationInZohoBooks", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "org_987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"company_name\":\"Acme Corp\",\"country\":\"US\",\"currency_code\":\"USD\",\"time_zone\":\"America/Los_Angeles\",\"language\":\"en\",\"fiscal_year_start_month\":\"April\",\"address\":{\"street\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\"},\"phone\":\"+14155552671\",\"company_website\":\"https://www.acme.example\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateOrganizationUser", - "qualifiedName": "ZohoBooksApi.CreateOrganizationUser", - "fullyQualifiedName": "ZohoBooksApi.CreateOrganizationUser@1.0.0", - "description": "Create a user for your organization in Zoho Books.\n\n This tool facilitates the creation of a new user within your organization using Zoho Books' services. It should be called when you need to register a new user in your organization's Zoho Books account.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books where the user will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateOrganizationUser", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"user\":{\"first_name\":\"Alice\",\"last_name\":\"Johnson\",\"email\":\"alice.johnson@example.com\",\"role\":\"Standard User\",\"is_owner\":false,\"status\":\"active\",\"send_invite\":true}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateProject", - "qualifiedName": "ZohoBooksApi.CreateProject", - "fullyQualifiedName": "ZohoBooksApi.CreateProject@1.0.0", - "description": "Create a new project in Zoho Books.\n\n This tool facilitates the creation of a new project within Zoho Books. It should be called when there's a need to start a new project and integrate it into the Zoho Books system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Unique identifier for the organization in Zoho Books. Required for project creation. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_project'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateProject", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"project_name\":\"Website Redesign\",\"customer_id\":\"987654321\",\"owner_id\":\"11223344\",\"status\":\"active\",\"billable\":true,\"currency_id\":\"USD\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-06-30\",\"budget_hours\":240,\"rate_per_hour\":120.0,\"description\":\"Complete redesign of the corporate website, including UX, frontend and backend.\",\"tasks\":[{\"name\":\"Discovery\",\"estimated_hours\":40},{\"name\":\"Design\",\"estimated_hours\":80},{\"name\":\"Development\",\"estimated_hours\":100}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateRecurringBill", - "qualifiedName": "ZohoBooksApi.CreateRecurringBill", - "fullyQualifiedName": "ZohoBooksApi.CreateRecurringBill@1.0.0", - "description": "Create a recurring bill in Zoho Books.\n\n This tool creates a recurring bill in Zoho Books. Use it to automate periodic billing tasks and ensure payments are scheduled consistently.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization in Zoho Books for which the recurring bill will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_recurring_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateRecurringBill", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"9876543210\",\"recurring_name\":\"Monthly Office Supplies\",\"start_date\":\"2026-03-01\",\"next_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"frequency\":\"monthly\",\"interval\":1,\"billing_cycle\":\"forever\",\"currency_code\":\"USD\",\"notes\":\"Automatically generated recurring bill for office supplies\",\"line_items\":[{\"item_id\":\"1001\",\"description\":\"Printer paper\",\"rate\":12.5,\"quantity\":10},{\"item_id\":\"1002\",\"description\":\"Toner cartridge\",\"rate\":75.0,\"quantity\":1}],\"tax_id\":\"2001\",\"shipping_charge\":5.0}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateRecurringExpense", - "qualifiedName": "ZohoBooksApi.CreateRecurringExpense", - "fullyQualifiedName": "ZohoBooksApi.CreateRecurringExpense@1.0.0", - "description": "Create a recurring expense in Zoho Books.\n\n Use this tool to create a recurring expense in Zoho Books. It allows you to automate expense tracking by setting expenses to recur at specified intervals.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. This ID is necessary to specify which organization's records to create the recurring expense under. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_recurring_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateRecurringExpense", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "305001200000000001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"recurring_expense\":{\"vendor_id\":\"3050012000000123456\",\"reference_number\":\"EXP-1001\",\"date\":\"2026-03-01\",\"currency_id\":\"USD\",\"exchange_rate\":1.0,\"line_items\":[{\"item_id\":\"3050012000000654321\",\"description\":\"Office supplies subscription\",\"rate\":75.0,\"quantity\":1,\"tax_id\":\"3050012000000765432\"}],\"billing_address\":{\"address\":\"123 Main St\",\"city\":\"Anytown\",\"state\":\"CA\",\"zip\":\"90210\",\"country\":\"USA\"},\"notes\":\"Recurring monthly expense for office supplies\",\"recurrence\":{\"interval\":1,\"repeat_unit\":\"month\",\"start_date\":\"2026-03-01\",\"repeat_forever\":false,\"end_date\":\"2027-03-01\"},\"automatic\":true}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateRecurringInvoice", - "qualifiedName": "ZohoBooksApi.CreateRecurringInvoice", - "fullyQualifiedName": "ZohoBooksApi.CreateRecurringInvoice@1.0.0", - "description": "Create a new recurring invoice in Zoho Books.\n\n This tool creates a new recurring invoice within Zoho Books. Use this tool when you need to automate the billing of customers on a regular schedule. It returns the details of the invoice created, enabling tracking and management of recurring payments.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the recurring invoice is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_recurring_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateRecurringInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"recurring_invoice\":{\"customer_id\":\"1234567890\",\"template_id\":\"987654321\",\"reference_number\":\"RI-1001\",\"frequency\":\"monthly\",\"every\":1,\"start_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"next_date\":\"2026-03-01\",\"billing_cycle\":12,\"line_items\":[{\"item_id\":\"11111\",\"name\":\"Consulting\",\"rate\":150.00,\"quantity\":10},{\"name\":\"Setup Fee\",\"rate\":500.00,\"quantity\":1}],\"notes\":\"Monthly consulting retainer.\",\"terms\":\"Payment due within 15 days.\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateRetainerInvoice", - "qualifiedName": "ZohoBooksApi.CreateRetainerInvoice", - "fullyQualifiedName": "ZohoBooksApi.CreateRetainerInvoice@1.0.0", - "description": "Create a retainer invoice for a customer.\n\n Use this tool to create a retainer invoice for a customer through Zoho Books. It should be called when you need to generate an invoice requiring advance payment or retaining fees for services or products.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization for which the retainer invoice is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to ignore automatic invoice number generation and manually input the invoice number. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_retainer_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateRetainerInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"1000000001\",\"date\":\"2026-02-18\",\"invoice_number\":\"RET-2026-001\",\"line_items\":[{\"item_id\":\"5000000001\",\"name\":\"Monthly Retainer\",\"description\":\"Retainer for ongoing consulting services\",\"rate\":2500.00,\"quantity\":1}],\"notes\":\"Advance payment for February 2026 services\",\"terms\":\"Retainer non-refundable\",\"retainer_type\":\"advance\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateSalesOrder", - "qualifiedName": "ZohoBooksApi.CreateSalesOrder", - "fullyQualifiedName": "ZohoBooksApi.CreateSalesOrder@1.0.0", - "description": "Create a sales order for a customer.\n\n This tool creates a sales order for a customer using Zoho Books. It should be called when you need to generate a new sales order in your accounting system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the sales order is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "total_number_of_files", - "type": "integer", - "required": false, - "description": "Specify the total number of files to be attached to the sales order. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "document_attachment", - "type": "string", - "required": false, - "description": "A document to be attached to the sales order. Provide as a string containing the document details or content. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to ignore auto sales order number generation, requiring manual sales order number entry. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "can_send_via_email", - "type": "boolean", - "required": false, - "description": "Set to true if the file can be sent via email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_sales_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateSalesOrder", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "1234567890abcdef", - "type": "string", - "required": false - }, - "total_number_of_files": { - "value": 1, - "type": "integer", - "required": false - }, - "document_attachment": { - "value": "invoice_attachment.pdf", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": true, - "type": "boolean", - "required": false - }, - "can_send_via_email": { - "value": false, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"salesorder\":{\"customer_id\":\"9876543210\",\"date\":\"2026-02-18\",\"salesorder_number\":\"SO-1001\",\"reference_number\":\"REF-2026-02\",\"line_items\":[{\"item_id\":\"112233\",\"name\":\"Widget A\",\"description\":\"High-quality widget\",\"rate\":49.99,\"quantity\":10,\"discount\":0,\"tax_id\":\"445566\"},{\"item_id\":\"112234\",\"name\":\"Service B\",\"description\":\"Installation service\",\"rate\":150.0,\"quantity\":1}],\"billing_address\":{\"attention\":\"John Doe\",\"address\":\"123 Main St\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62701\",\"country\":\"USA\",\"phone\":\"555-0100\"},\"shipping_address\":{\"attention\":\"Jane Smith\",\"address\":\"456 Warehouse Ave\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62702\",\"country\":\"USA\",\"phone\":\"555-0200\"},\"notes\":\"Please deliver between 9am-5pm.\",\"terms\":\"Net 30\",\"currency_id\":\"USD\",\"exchange_rate\":1}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateSalesReceipt", - "qualifiedName": "ZohoBooksApi.CreateSalesReceipt", - "fullyQualifiedName": "ZohoBooksApi.CreateSalesReceipt@1.0.0", - "description": "Create a sales receipt for immediate payment transactions.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Unique identifier for the organization needed to create the sales receipt. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to ignore automatic sales receipt number generation, requiring manual entry of the receipt number. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_receipt_via_email", - "type": "boolean", - "required": false, - "description": "Set to true to send the sales receipt to the customer via email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_sales_receipt'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateSalesReceipt", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": true, - "type": "boolean", - "required": false - }, - "send_receipt_via_email": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"987654321\",\"date\":\"2026-02-18\",\"salesreceipt_number\":\"SR-1001\",\"line_items\":[{\"item_id\":\"1111111\",\"name\":\"Consulting Services\",\"description\":\"Monthly consulting\",\"rate\":150.00,\"quantity\":10}],\"payment_options\":{\"mode\":\"online\",\"reference_number\":\"PAY-12345\"},\"notes\":\"Thank you for your business.\",\"currency_code\":\"USD\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateTaxAuthority", - "qualifiedName": "ZohoBooksApi.CreateTaxAuthority", - "fullyQualifiedName": "ZohoBooksApi.CreateTaxAuthority@1.0.0", - "description": "Create a tax authority in Zoho Books.\n\n Use this tool to create a new tax authority in Zoho Books. Suitable for financial administrators managing tax compliance.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the tax authority is to be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_tax_authority'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateTaxAuthority", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"tax_authority\": {\"name\": \"State Sales Tax\",\"code\": \"ST_SALES\",\"is_compound\": false,\"tax_rate\": 7.25,\"description\": \"State-level sales tax for retail transactions\",\"country\": \"US\",\"state\": \"California\",\"tax_account_id\": \"101234567890\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateTaxExemption", - "qualifiedName": "ZohoBooksApi.CreateTaxExemption", - "fullyQualifiedName": "ZohoBooksApi.CreateTaxExemption@1.0.0", - "description": "Create a tax exemption in Zoho Books.\n\n Use this tool to create a tax exemption in Zoho Books when you need to apply tax exemptions for transactions or customers.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books for which the tax exemption is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_tax_exemption'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateTaxExemption", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"tax_exemption\": {\"name\": \"Non-Profit Organization Exemption\", \"exemption_type\": \"customer\", \"description\": \"Tax exemption for registered non-profit organizations\", \"tax_exemption_number\": \"EXEMPT-2026-0001\", \"effective_from\": \"2026-03-01\", \"effective_to\": \"2036-03-01\", \"is_active\": true, \"applicable_taxes\": [{\"tax_id\": \"987654321\", \"tax_name\": \"GST\", \"rate\": 0}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateTaxGroup", - "qualifiedName": "ZohoBooksApi.CreateTaxGroup", - "fullyQualifiedName": "ZohoBooksApi.CreateTaxGroup@1.0.0", - "description": "Create a tax group with multiple associated taxes.\n\n This tool calls the Zoho Books API to create a tax group, allowing you to associate multiple taxes into a single group. Use this tool when you need to manage and apply tax groups for accounting purposes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization within Zoho Books. This is required to create a tax group. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_tax_group'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateTaxGroup", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"tax_group\":{\"tax_group_name\":\"Standard Sales Tax Group\",\"tax_group_taxes\":[{\"tax_id\":\"987654321\",\"tax_name\":\"State Tax\",\"tax_percentage\":5.0},{\"tax_id\":\"123456789\",\"tax_name\":\"Federal Tax\",\"tax_percentage\":2.5}],\"is_compound\":false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateVendorBill", - "qualifiedName": "ZohoBooksApi.CreateVendorBill", - "fullyQualifiedName": "ZohoBooksApi.CreateVendorBill@1.0.0", - "description": "Create a bill received from your vendor.\n\n Use this tool to log and manage invoices received from vendors by creating a bill in your system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in which the bill will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "attachment_file_path", - "type": "string", - "required": false, - "description": "Path to the file to attach. Accepts GIF, PNG, JPEG, JPG, BMP, and PDF formats. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateVendorBill", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "attachment_file_path": { - "value": "/tmp/invoice_BILL-2026-001.pdf", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"987654321\",\"bill_number\":\"BILL-2026-001\",\"bill_date\":\"2026-02-15\",\"due_date\":\"2026-03-17\",\"reference_number\":\"PO-4501\",\"line_items\":[{\"item_id\":\"112233\",\"description\":\"Consulting services\",\"rate\":150.0,\"quantity\":10,\"tax_id\":\"TAX001\"},{\"description\":\"Office supplies\",\"account_id\":\"4001\",\"rate\":45.5,\"quantity\":2}],\"notes\":\"Monthly consulting and supplies\",\"currency_code\":\"USD\",\"exchange_rate\":1.0}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateVendorCredit", - "qualifiedName": "ZohoBooksApi.CreateVendorCredit", - "fullyQualifiedName": "ZohoBooksApi.CreateVendorCredit@1.0.0", - "description": "Create vendor credit for returns or adjustments.\n\n Use this tool to record new vendor credits for returned items, overpayments, or adjustments. Supports multi-currency, custom line items, taxes, and workflows.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the vendor credit is being created. Must be a valid organization ID. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_id", - "type": "string", - "required": false, - "description": "Identifier of the bill associated with the vendor credit. Required for linking the credit to a specific transaction. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to bypass auto number generation. A vendor credit number becomes mandatory when enabled. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_vendor_credit'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateVendorCredit", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "bill_id": { - "value": "BILL-2026-0001", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": false, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"987654321\",\"date\":\"2026-02-15\",\"reference_number\":\"VC-1002\",\"currency_id\":\"USD\",\"exchange_rate\":1.0,\"vendor_credit_number\":\"VC-1002\",\"line_items\":[{\"item_id\":\"1111\",\"name\":\"Returned Widget A\",\"description\":\"Return of 2 units\",\"rate\":50.00,\"quantity\":2,\"tax_id\":\"TAX-1\"}],\"payment_options\":{\"adjustable\":true},\"reference_id\":\"RC-2026-02\",\"notes\":\"Credit issued for returned items\",\"custom_fields\":[{\"label\":\"Return Reason\",\"value\":\"Damaged on arrival\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateVendorPayment", - "qualifiedName": "ZohoBooksApi.CreateVendorPayment", - "fullyQualifiedName": "ZohoBooksApi.CreateVendorPayment@1.0.0", - "description": "Create and apply a payment to a vendor's bill.\n\n This tool is used to record a payment made to a vendor, with the option to apply the payment either partially or fully to the vendor's outstanding bills.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization to which the vendor payment belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_vendor_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateVendorPayment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_payment\":{\"vendor_id\":\"987654321\",\"date\":\"2025-02-15\",\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"PAY-20250215-001\",\"amount\":1500.00,\"account_id\":\"1122334455\",\"notes\":\"Payment for February bills\",\"apply_to_bills\":[{\"bill_id\":\"BILL-1001\",\"amount_applied\":1000.00},{\"bill_id\":\"BILL-1002\",\"amount_applied\":500.00}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateVendorPurchaseOrder", - "qualifiedName": "ZohoBooksApi.CreateVendorPurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.CreateVendorPurchaseOrder@1.0.0", - "description": "Generate a purchase order for a vendor.\n\n Use this tool to create a purchase order for a vendor in Zoho Books. It facilitates procurement by initiating an order with specified vendor details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books for which the purchase order is being created. Required to specify the target organization. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "file_attachment", - "type": "string", - "required": false, - "description": "File path or URL to attach. Allowed extensions: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to disable automatic purchase order number generation, requiring a manual number. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_purchase_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateVendorPurchaseOrder", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "file_attachment": { - "value": "https://example.com/attachment.pdf", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": false, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"987654321\",\"date\":\"2026-02-18\",\"expected_delivery_date\":\"2026-03-01\",\"reference_number\":\"PO-1001\",\"shipping_charge\":25.00,\"adjustment\":0.00,\"notes\":\"Please deliver to our main warehouse.\",\"line_items\":[{\"item_id\":\"11111\",\"name\":\"Widget A\",\"description\":\"High-quality widget\",\"rate\":50.00,\"quantity\":10,\"account_id\":\"40001\"},{\"name\":\"Custom Service\",\"description\":\"Installation service\",\"rate\":150.00,\"quantity\":1,\"account_id\":\"50001\"}],\"billing_address\":{\"street\":\"123 Main St\",\"city\":\"Anytown\",\"state\":\"CA\",\"zip\":\"90210\",\"country\":\"USA\"},\"shipping_address\":{\"street\":\"456 Warehouse Rd\",\"city\":\"Anytown\",\"state\":\"CA\",\"zip\":\"90211\",\"country\":\"USA\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreateZohoBookLocation", - "qualifiedName": "ZohoBooksApi.CreateZohoBookLocation", - "fullyQualifiedName": "ZohoBooksApi.CreateZohoBookLocation@1.0.0", - "description": "Create a new location in Zoho Books.\n\n Use this tool to create a new business location within Zoho Books. It handles the setup of location data, allowing integration of new physical or digital locations into the Zoho Books system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the location is being created in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_location'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreateZohoBookLocation", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60012345678", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"location\":{\"name\":\"Downtown Store\",\"phone\":\"+1-415-555-0123\",\"email\":\"store@example.com\",\"website\":\"https://downtown.example.com\",\"address\":\"100 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"is_primary\":true,\"timezone\":\"America/Los_Angeles\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CreditNoteRefundListing", - "qualifiedName": "ZohoBooksApi.CreditNoteRefundListing", - "fullyQualifiedName": "ZohoBooksApi.CreditNoteRefundListing@1.0.0", - "description": "Retrieve a paginated list of credit note refunds.\n\nUse this tool to get a list of all credit note refunds, including pagination information for navigating through large sets of data.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Use this to specify which organization's credit note refunds to list.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_identifier", - "type": "string", - "required": false, - "description": "ID of the customer for whom the credit note is raised. Provide to filter refunds by customer.", - "enum": null, - "inferrable": true - }, - { - "name": "refunds_sort_column", - "type": "string", - "required": false, - "description": "Specifies the attribute to sort the credit note refunds. Use values like 'refund_mode', 'reference_number', 'date', 'creditnote_number', 'customer_name', 'amount_bcy', or 'amount_fcy'.", - "enum": null, - "inferrable": true - }, - { - "name": "pagination_page_number", - "type": "integer", - "required": false, - "description": "Page number for pagination to specify which page of results to retrieve. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to display per page in the paginated results. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_credit_note_refunds'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CreditNoteRefundListing", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "customer_identifier": { - "value": "CUST-001", - "type": "string", - "required": false - }, - "refunds_sort_column": { - "value": "date", - "type": "string", - "required": false - }, - "pagination_page_number": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "CrmToBooksContactImport", - "qualifiedName": "ZohoBooksApi.CrmToBooksContactImport", - "fullyQualifiedName": "ZohoBooksApi.CrmToBooksContactImport@1.0.0", - "description": "Import a customer from Zoho CRM to Zoho Books using CRM contact ID.\n\nUse this tool when you need to import a customer from Zoho CRM to Zoho Books based on their CRM contact ID. Ensure that Zoho Books is integrated with Zoho CRM using the correct sync settings for contacts.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "zoho_crm_contact_id", - "type": "string", - "required": true, - "description": "Unique identifier for the Zoho CRM contact to import into Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'import_customer_using_crm_contact_id'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.CrmToBooksContactImport", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "zoho_crm_contact_id": { - "value": "3400000123456789012", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeactivateBankAccount", - "qualifiedName": "ZohoBooksApi.DeactivateBankAccount", - "fullyQualifiedName": "ZohoBooksApi.DeactivateBankAccount@1.0.0", - "description": "Deactivate a bank account in Zoho Books.\n\nUse this tool to mark a bank account as inactive in Zoho Books. This can be useful when an account is no longer in use and should be temporarily disabled.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books. This is required to identify which organization's bank account to deactivate.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank account to deactivate in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_bank_account_inactive'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeactivateBankAccount", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bank_account_id": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeactivateChartOfAccount", - "qualifiedName": "ZohoBooksApi.DeactivateChartOfAccount", - "fullyQualifiedName": "ZohoBooksApi.DeactivateChartOfAccount@1.0.0", - "description": "Deactivate a specific chart of account.\n\nUse this tool to mark a specific chart of account as inactive in Zoho Books. This is helpful when you need to manage account statuses and ensure they reflect current business requirements.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization to deactivate the chart of account for.", - "enum": null, - "inferrable": true - }, - { - "name": "account_identifier", - "type": "string", - "required": true, - "description": "The unique identifier of the account to be deactivated.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_chart_of_account_inactive'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeactivateChartOfAccount", - "parameters": { - "organization_identifier": { - "value": "ORG123456789", - "type": "string", - "required": true - }, - "account_identifier": { - "value": "ACC987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeactivateProject", - "qualifiedName": "ZohoBooksApi.DeactivateProject", - "fullyQualifiedName": "ZohoBooksApi.DeactivateProject@1.0.0", - "description": "Deactivate a project in Zoho Books.\n\nUse this tool to mark a project as inactive in Zoho Books when it is no longer active or needed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. Required for identifying the organization for the project update.", - "enum": null, - "inferrable": true - }, - { - "name": "project_id", - "type": "string", - "required": true, - "description": "The unique identifier of the project to be marked as inactive.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_project_inactive'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeactivateProject", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "project_id": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeactivateUserAccount", - "qualifiedName": "ZohoBooksApi.DeactivateUserAccount", - "fullyQualifiedName": "ZohoBooksApi.DeactivateUserAccount@1.0.0", - "description": "Deactivate a user's account in Zoho Books.\n\nUse this tool to mark an active user as inactive within Zoho Books. It is useful when needing to revoke access or deactivate an account.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization within Zoho Books to which the user belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "user_unique_identifier", - "type": "string", - "required": true, - "description": "Provide the unique identifier of the user to be deactivated.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_user_inactive'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeactivateUserAccount", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "user_unique_identifier": { - "value": "user_7f3a9b2c", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeclineEstimate", - "qualifiedName": "ZohoBooksApi.DeclineEstimate", - "fullyQualifiedName": "ZohoBooksApi.DeclineEstimate@1.0.0", - "description": "Marks a sent estimate as declined if rejected by customer.\n\nUse this tool to update the status of an estimate to 'declined' when a customer has rejected it. This is helpful in maintaining accurate records of customer interactions.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization for which the estimate is being declined.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the estimate to mark as declined.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_estimate_declined'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeclineEstimate", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "estimate_identifier": { - "value": "EST-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteAccount", - "qualifiedName": "ZohoBooksApi.DeleteAccount", - "fullyQualifiedName": "ZohoBooksApi.DeleteAccount@1.0.0", - "description": "Delete a chart of account in Zoho Books.\n\nUse this tool to delete an existing chart of account. Note that accounts associated with transactions or products cannot be deleted.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "account_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the account to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_chart_of_account'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteAccount", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "account_identifier": { - "value": "1000000000001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteAssetComment", - "qualifiedName": "ZohoBooksApi.DeleteAssetComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteAssetComment@1.0.0", - "description": "Delete a comment from a fixed asset in Zoho Books.\n\nUse this tool to delete an existing comment on a fixed asset within Zoho Books by specifying the fixed asset and comment IDs.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the ID of the organization to specify which organization's asset comment you want to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the fixed asset to delete a comment from.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_id", - "type": "string", - "required": true, - "description": "Unique identifier of the comment to be deleted from the fixed asset.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_fixed_asset_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteAssetComment", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "fixed_asset_identifier": { - "value": "FA-1001", - "type": "string", - "required": true - }, - "comment_id": { - "value": "CMT-98765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteBankAccount", - "qualifiedName": "ZohoBooksApi.DeleteBankAccount", - "fullyQualifiedName": "ZohoBooksApi.DeleteBankAccount@1.0.0", - "description": "Delete a bank account from your organization.\n\nUse this tool to permanently delete a bank account associated with your organization in Zoho Books. This should be called when you need to remove an account to prevent future transactions.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. Required to identify which organization's bank account is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank account to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_bank_account'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteBankAccount", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "bank_account_unique_id": { - "value": "ba_987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteBankAccountRule", - "qualifiedName": "ZohoBooksApi.DeleteBankAccountRule", - "fullyQualifiedName": "ZohoBooksApi.DeleteBankAccountRule@1.0.0", - "description": "Deletes a bank account rule, removing its effect on transactions.\n\nUse this tool to delete a specific bank account rule, making it inapplicable to future transactions.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID representing the organization. Required for identifying the correct account.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_rule_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank account rule to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_bank_account_rule'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteBankAccountRule", - "parameters": { - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bank_account_rule_id": { - "value": "rule_abc123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteBankTransaction", - "qualifiedName": "ZohoBooksApi.DeleteBankTransaction", - "fullyQualifiedName": "ZohoBooksApi.DeleteBankTransaction@1.0.0", - "description": "Delete a bank transaction using its ID.\n\nUse this tool to delete a specific bank transaction by providing the transaction ID. Ideal for managing and cleaning up bank account transactions.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Specify the ID of the organization to target for transaction deletion.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": true, - "description": "Unique identifier for the bank transaction to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteBankTransaction", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "bank_transaction_id": { - "value": "BTX-789012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteBillAttachment", - "qualifiedName": "ZohoBooksApi.DeleteBillAttachment", - "fullyQualifiedName": "ZohoBooksApi.DeleteBillAttachment@1.0.0", - "description": "Delete the file attached to a specific bill.\n\nThis tool deletes the file attached to a specified bill in Zoho Books. It should be called when there's a need to remove an attachment associated with a bill.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization within Zoho Books. This is required to specify which organization's bill attachment is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the specific bill whose attachment is to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_bill_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteBillAttachment", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bill_unique_identifier": { - "value": "BILL-2026-001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteBillComment", - "qualifiedName": "ZohoBooksApi.DeleteBillComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteBillComment@1.0.0", - "description": "Delete a specific comment from a bill in Zoho Books.\n\nUse this tool to remove a comment from a specific bill in Zoho Books when the comment is no longer needed or was made in error.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization from which the bill comment will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the bill from which the comment will be deleted. This ID is necessary to specify the correct bill in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_id", - "type": "string", - "required": true, - "description": "Unique identifier of the comment to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_bill_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteBillComment", - "parameters": { - "organization_id": { - "value": "678901234", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-10234", - "type": "string", - "required": true - }, - "comment_id": { - "value": "4455667788", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteBillPayment", - "qualifiedName": "ZohoBooksApi.DeleteBillPayment", - "fullyQualifiedName": "ZohoBooksApi.DeleteBillPayment@1.0.0", - "description": "Delete a payment made to a bill.\n\nUse this tool to delete an existing payment associated with a bill when necessary. It helps in managing and correcting payment records in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books for which the bill payment is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the bill to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_payment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the bill payment to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_bill_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteBillPayment", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-1001", - "type": "string", - "required": true - }, - "bill_payment_identifier": { - "value": "PAY-2001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteContact", - "qualifiedName": "ZohoBooksApi.DeleteContact", - "fullyQualifiedName": "ZohoBooksApi.DeleteContact@1.0.0", - "description": "Delete an existing contact from the system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization from which the contact will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the contact to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_contact'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteContact", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "contact_unique_identifier": { - "value": "c_9f2a4b7d3e", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteContactAddress", - "qualifiedName": "ZohoBooksApi.DeleteContactAddress", - "fullyQualifiedName": "ZohoBooksApi.DeleteContactAddress@1.0.0", - "description": "Deletes an additional address of a contact.\n\nThis tool deletes an additional address of a specific contact in Zoho Books when given the contact and address IDs. Use it to manage contact address details.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique ID of the organization in Zoho Books required for address deletion.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier for the contact whose address you want to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "address_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the address to be deleted for the specified contact.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_contact_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteContactAddress", - "parameters": { - "organization_id": { - "value": "68012345678", - "type": "string", - "required": true - }, - "contact_unique_id": { - "value": "5f3a9b2c-1d4e-4f6a-9b8c-0a1b2c3d4e5f", - "type": "string", - "required": true - }, - "address_identifier": { - "value": "addr_9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteContactPerson", - "qualifiedName": "ZohoBooksApi.DeleteContactPerson", - "fullyQualifiedName": "ZohoBooksApi.DeleteContactPerson@1.0.0", - "description": "Delete an existing contact person from the records.\n\nUse this tool to remove a contact person using their unique ID from the records. It should be called when a user's contact details are no longer needed or need to be removed for any reason.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization to identify which entity the contact person belongs to.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_person_id", - "type": "string", - "required": true, - "description": "Unique identifier for the contact person to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_contact_person'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteContactPerson", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "contact_person_id": { - "value": "987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCreditNote", - "qualifiedName": "ZohoBooksApi.DeleteCreditNote", - "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNote@1.0.0", - "description": "Delete an existing credit note using its ID.\n\nUse this tool to delete a specific credit note by providing its unique ID. This action is irreversible.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose credit note you wish to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_credit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCreditNote", - "parameters": { - "organization_id": { - "value": "67234567890", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "CN-2026-000123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCreditNoteComment", - "qualifiedName": "ZohoBooksApi.DeleteCreditNoteComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNoteComment@1.0.0", - "description": "Delete a specific comment from a credit note.\n\nUse this tool to delete a comment from a credit note in Zoho Books. It requires the credit note ID and the comment ID to specify which comment to remove.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. Required for deleting a credit note comment.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to which the comment belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_unique_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the comment to be deleted from a credit note.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_credit_note_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCreditNoteComment", - "parameters": { - "organization_id": { - "value": "600000000000001", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "350000000000123", - "type": "string", - "required": true - }, - "comment_unique_identifier": { - "value": "1234567890123456789", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCreditNoteInvoice", - "qualifiedName": "ZohoBooksApi.DeleteCreditNoteInvoice", - "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNoteInvoice@1.0.0", - "description": "Delete the credits applied to an invoice of a credit note.\n\nUse this tool to remove credits applied to an invoice associated with a credit note, ensuring the invoice record reflects modified credits.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to identify which organization's data is being manipulated.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier for the credit note to delete its associated invoice credits.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note invoice to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_invoice_of_credit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCreditNoteInvoice", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "credit_note_unique_id": { - "value": "201800000001234", - "type": "string", - "required": true - }, - "credit_note_invoice_id": { - "value": "301900000005678", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCreditNoteRefund", - "qualifiedName": "ZohoBooksApi.DeleteCreditNoteRefund", - "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNoteRefund@1.0.0", - "description": "Delete a specific credit note refund by ID.\n\nUse this tool to remove a credit note refund for a given credit note and refund ID when it's no longer needed or was made in error.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to delete a credit note refund.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to be refunded.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_refund_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note refund to delete.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_credit_note_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCreditNoteRefund", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "CN-00001234", - "type": "string", - "required": true - }, - "credit_note_refund_id": { - "value": "RN-00005678", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCurrencyAdjustment", - "qualifiedName": "ZohoBooksApi.DeleteCurrencyAdjustment", - "fullyQualifiedName": "ZohoBooksApi.DeleteCurrencyAdjustment@1.0.0", - "description": "Deletes the specified base currency adjustment.\n\nUse this tool to delete a specific base currency adjustment by providing its ID. Useful for managing and updating financial records.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization whose currency adjustment you want to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "base_currency_adjustment_id", - "type": "string", - "required": true, - "description": "Unique identifier of the base currency adjustment to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_base_currency_adjustment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCurrencyAdjustment", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "base_currency_adjustment_id": { - "value": "87654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCustomerDebitNote", - "qualifiedName": "ZohoBooksApi.DeleteCustomerDebitNote", - "fullyQualifiedName": "ZohoBooksApi.DeleteCustomerDebitNote@1.0.0", - "description": "Delete an existing customer debit note in Zoho Books.\n\nUse this tool to delete a customer debit note in Zoho Books. Note that debit notes with payments or credit notes applied cannot be deleted.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization within Zoho Books. Required to specify which organization's data to access or modify.", - "enum": null, - "inferrable": true - }, - { - "name": "debit_note_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier for the debit note to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_customer_debit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCustomerDebitNote", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "debit_note_unique_id": { - "value": "DN-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCustomerPayment", - "qualifiedName": "ZohoBooksApi.DeleteCustomerPayment", - "fullyQualifiedName": "ZohoBooksApi.DeleteCustomerPayment@1.0.0", - "description": "Delete an existing payment for a customer.\n\nUse this tool when you need to delete a specific customer payment by its payment ID. It confirms the removal of the payment record.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose payment is being deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the payment to be deleted. Required to specify which payment record should be removed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_customer_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCustomerPayment", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "payment_identifier": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCustomerPaymentRefund", - "qualifiedName": "ZohoBooksApi.DeleteCustomerPaymentRefund", - "fullyQualifiedName": "ZohoBooksApi.DeleteCustomerPaymentRefund@1.0.0", - "description": "Delete a refund for an existing customer payment.\n\nThis tool should be called when you need to delete a refund associated with an existing customer payment in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the refund deletion is requested.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_payment_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the customer payment associated with the refund to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "refund_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the refund to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_customer_payment_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCustomerPaymentRefund", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "customer_payment_identifier": { - "value": "cpay_987654321", - "type": "string", - "required": true - }, - "refund_identifier": { - "value": "refund_0012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCustomModule", - "qualifiedName": "ZohoBooksApi.DeleteCustomModule", - "fullyQualifiedName": "ZohoBooksApi.DeleteCustomModule@1.0.0", - "description": "Deletes a specified custom module in Zoho Books.\n\nThis tool is used to delete a custom module within Zoho Books. It should be called when you need to remove a specific custom module by its name.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "module_name", - "type": "string", - "required": true, - "description": "The name of the custom module to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.custommodules.ALL" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_custom_module'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCustomModule", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "module_name": { - "value": "EventRegistrations", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteCustomModuleRecord", - "qualifiedName": "ZohoBooksApi.DeleteCustomModuleRecord", - "fullyQualifiedName": "ZohoBooksApi.DeleteCustomModuleRecord@1.0.0", - "description": "Delete an individual record from a custom module.\n\nUse this tool to delete specific records from a custom module in Zoho Books. Provide the module name and module ID to identify and remove the desired record.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to specify which organization's module record to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "module_name", - "type": "string", - "required": true, - "description": "Name of the custom module containing the record to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_module_id", - "type": "integer", - "required": true, - "description": "The unique integer ID of the custom module to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.custommodules.ALL" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_custom_module_record'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteCustomModuleRecord", - "parameters": { - "organization_id": { - "value": "789012345", - "type": "string", - "required": true - }, - "module_name": { - "value": "CustomInvoices", - "type": "string", - "required": true - }, - "custom_module_id": { - "value": 12345, - "type": "integer", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteEmployeeRecord", - "qualifiedName": "ZohoBooksApi.DeleteEmployeeRecord", - "fullyQualifiedName": "ZohoBooksApi.DeleteEmployeeRecord@1.0.0", - "description": "Remove an employee from the records in Zoho Books.\n\nThis tool is used to delete an existing employee in Zoho Books. It should be called when there is a need to permanently remove an employee's record from the system.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization to uniquely identify it for employee deletion.", - "enum": null, - "inferrable": true - }, - { - "name": "employee_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the employee to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_employee'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteEmployeeRecord", - "parameters": { - "organization_identifier": { - "value": "60012345678", - "type": "string", - "required": true - }, - "employee_identifier": { - "value": "EMP98765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteEstimate", - "qualifiedName": "ZohoBooksApi.DeleteEstimate", - "fullyQualifiedName": "ZohoBooksApi.DeleteEstimate@1.0.0", - "description": "Delete an existing estimate in Zoho Books.\n\nUse this tool to remove an estimate by providing its unique estimate ID in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization where the estimate will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_id", - "type": "string", - "required": true, - "description": "Unique identifier for the estimate to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_estimate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteEstimate", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "estimate_id": { - "value": "EST-2026-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteEstimateComment", - "qualifiedName": "ZohoBooksApi.DeleteEstimateComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteEstimateComment@1.0.0", - "description": "Delete an estimate comment.\n\nUse this tool to remove a comment from an estimate in Zoho Books. Ideal for cleaning up or managing comments related to estimates.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization where the estimate comment is located.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_unique_id", - "type": "string", - "required": true, - "description": "The unique identifier for the estimate, required to specify which estimate's comment to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the comment to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_estimate_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteEstimateComment", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "estimate_unique_id": { - "value": "EST-2026-0001", - "type": "string", - "required": true - }, - "comment_unique_identifier": { - "value": "CMT-abcdef123456", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteExchangeRate", - "qualifiedName": "ZohoBooksApi.DeleteExchangeRate", - "fullyQualifiedName": "ZohoBooksApi.DeleteExchangeRate@1.0.0", - "description": "Delete an exchange rate for a specific currency.\n\nUse this tool to delete an exchange rate using the specified currency and exchange rate IDs.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the exchange rate is being deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "currency_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the currency whose exchange rate is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "exchange_rate_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the exchange rate to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_exchange_rate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteExchangeRate", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "currency_identifier": { - "value": "USD", - "type": "string", - "required": true - }, - "exchange_rate_identifier": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteExistingBill", - "qualifiedName": "ZohoBooksApi.DeleteExistingBill", - "fullyQualifiedName": "ZohoBooksApi.DeleteExistingBill@1.0.0", - "description": "Deletes an existing bill if no payments are applied.\n\nCall this tool to delete a bill in Zoho Books if the bill has no payments applied. It confirms successful deletion of the bill.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books needed to delete the bill.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "The unique identifier of the bill you wish to delete.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteExistingBill", - "parameters": { - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteExpenseEntry", - "qualifiedName": "ZohoBooksApi.DeleteExpenseEntry", - "fullyQualifiedName": "ZohoBooksApi.DeleteExpenseEntry@1.0.0", - "description": "Delete an existing expense entry in Zoho Books.\n\nUse this tool to delete a specific expense entry from Zoho Books when you need to remove an incorrect or unnecessary record.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the organization within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the expense to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteExpenseEntry", - "parameters": { - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": true - }, - "expense_identifier": { - "value": "987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteExpenseReceipt", - "qualifiedName": "ZohoBooksApi.DeleteExpenseReceipt", - "fullyQualifiedName": "ZohoBooksApi.DeleteExpenseReceipt@1.0.0", - "description": "Deletes the receipt attached to an expense.\n\nUse this tool to remove the receipt associated with a specific expense in Zoho Books, identified by the expense ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization for which the expense receipt is to be deleted. Ensure it's accurate to target the correct entity.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_id", - "type": "string", - "required": true, - "description": "Unique identifier for the expense whose receipt is to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_expense_receipt'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteExpenseReceipt", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "expense_id": { - "value": "987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteFixedAsset", - "qualifiedName": "ZohoBooksApi.DeleteFixedAsset", - "fullyQualifiedName": "ZohoBooksApi.DeleteFixedAsset@1.0.0", - "description": "Delete a specified fixed asset.\n\nUse this tool to delete a fixed asset by providing its ID. This action is irreversible, so ensure you have the correct ID before proceeding.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization from which the fixed asset will be deleted. Ensure this ID corresponds to the correct organization.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the fixed asset to be deleted. This ID is required to specify which asset to remove.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_fixed_asset'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteFixedAsset", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "fixed_asset_identifier": { - "value": "FA-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteFixedAssetType", - "qualifiedName": "ZohoBooksApi.DeleteFixedAssetType", - "fullyQualifiedName": "ZohoBooksApi.DeleteFixedAssetType@1.0.0", - "description": "Deletes a specified fixed asset type from the system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_type_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the fixed asset type to delete.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_fixed_asset_type'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteFixedAssetType", - "parameters": { - "organization_id": { - "value": "org_1234567890", - "type": "string", - "required": true - }, - "fixed_asset_type_identifier": { - "value": "fixed_asset_type_001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteInvoiceAttachment", - "qualifiedName": "ZohoBooksApi.DeleteInvoiceAttachment", - "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceAttachment@1.0.0", - "description": "Delete the file attached to an invoice.\n\nThis tool should be called to delete an attachment from a specified invoice in Zoho Books. Useful for managing or cleaning up invoice files.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the invoice attachment will be deleted. This is required to authenticate and identify the specific organization on Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to delete the attachment from. Must match the invoice's ID in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_invoice_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteInvoiceAttachment", - "parameters": { - "organization_id": { - "value": "600000012345678", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "174232000000012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteInvoiceComment", - "qualifiedName": "ZohoBooksApi.DeleteInvoiceComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceComment@1.0.0", - "description": "Delete a specific comment from an invoice.\n\nUse this tool to remove a comment from an invoice in Zoho Books. It is useful when a comment is no longer relevant or was added by mistake.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to delete the comment from.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_unique_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the comment to be deleted from the invoice.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_invoice_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteInvoiceComment", - "parameters": { - "organization_id": { - "value": "67890123456", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - }, - "comment_unique_identifier": { - "value": "cmt_5f4d3a2b1c", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteInvoiceDocument", - "qualifiedName": "ZohoBooksApi.DeleteInvoiceDocument", - "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceDocument@1.0.0", - "description": "Delete a document attached to an invoice.\n\nPermanently removes a document from an invoice in Zoho Books. This tool should be called when there is a need to delete a specific non-system-generated document associated with an invoice.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. This is required to specify which organization's invoice document is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_id", - "type": "string", - "required": true, - "description": "The unique identifier of the invoice from which the document will be deleted. This ID is required and must be a valid invoice in the system.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_document_id", - "type": "string", - "required": true, - "description": "The unique ID of the document to be deleted from the invoice.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_invoice_document'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteInvoiceDocument", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "invoice_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "invoice_document_id": { - "value": "987654321098765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteInvoiceExpenseReceipt", - "qualifiedName": "ZohoBooksApi.DeleteInvoiceExpenseReceipt", - "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceExpenseReceipt@1.0.0", - "description": "Delete attached expense receipts from an invoice.\n\nUse this tool to delete expense receipts that are attached to an invoice, specifically those raised from an expense.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization from which the expense receipt will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the expense to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_invoice_expense_receipt'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteInvoiceExpenseReceipt", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "expense_identifier": { - "value": "EXPENSE-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteInvoiceInZohoBooks", - "qualifiedName": "ZohoBooksApi.DeleteInvoiceInZohoBooks", - "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceInZohoBooks@1.0.0", - "description": "Delete an existing invoice in Zoho Books.\n\nUse this tool to delete an existing invoice in Zoho Books. Note that invoices with payments or credit notes applied cannot be deleted.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the invoice is to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteInvoiceInZohoBooks", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteInvoicePayment", - "qualifiedName": "ZohoBooksApi.DeleteInvoicePayment", - "fullyQualifiedName": "ZohoBooksApi.DeleteInvoicePayment@1.0.0", - "description": "Delete a payment made to an invoice in Zoho Books.\n\nUse this tool to remove a payment record from an invoice in Zoho Books when it was entered incorrectly or is no longer needed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books to which the payment belongs. This is required to identify the specific organization for deleting the invoice payment.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to delete the payment from.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_payment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice payment to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_invoice_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteInvoicePayment", - "parameters": { - "organization_id": { - "value": "60000000001", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-1001", - "type": "string", - "required": true - }, - "invoice_payment_identifier": { - "value": "PAY-2002", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteItemInZohoBooks", - "qualifiedName": "ZohoBooksApi.DeleteItemInZohoBooks", - "fullyQualifiedName": "ZohoBooksApi.DeleteItemInZohoBooks@1.0.0", - "description": "Delete an item from Zoho Books.\n\nThis tool deletes an item from Zoho Books. It should be called to remove items that are no longer needed, provided they are not part of any transaction.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books from which you wish to delete the item.", - "enum": null, - "inferrable": true - }, - { - "name": "item_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the item to be deleted from Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_item'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteItemInZohoBooks", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "item_identifier": { - "value": "480000012345678901", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteJournalComment", - "qualifiedName": "ZohoBooksApi.DeleteJournalComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteJournalComment@1.0.0", - "description": "Delete a journal comment in Zoho Books.\n\nUse this tool to delete a specific comment from a journal entry in Zoho Books. It should be called when you need to remove unwanted or incorrect comments from a journal.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to specify which organization's journal comment should be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier of the journal for which the comment will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_id", - "type": "string", - "required": true, - "description": "Unique identifier of the comment to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_journal_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteJournalComment", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "journal_unique_id": { - "value": "123e4567-e89b-12d3-a456-426614174000", - "type": "string", - "required": true - }, - "comment_id": { - "value": "cmt-7890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteJournalEntry", - "qualifiedName": "ZohoBooksApi.DeleteJournalEntry", - "fullyQualifiedName": "ZohoBooksApi.DeleteJournalEntry@1.0.0", - "description": "Delete a specific journal entry by ID.\n\nThis tool deletes a journal entry in Zoho Books when provided with the specific journal ID. Use this to remove incorrect or unnecessary journal records.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization associated with the journal to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_entry_id", - "type": "string", - "required": true, - "description": "The unique identifier for the journal entry to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_journal'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteJournalEntry", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "journal_entry_id": { - "value": "987654321098765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteLastImportedBankStatement", - "qualifiedName": "ZohoBooksApi.DeleteLastImportedBankStatement", - "fullyQualifiedName": "ZohoBooksApi.DeleteLastImportedBankStatement@1.0.0", - "description": "Delete the last imported bank statement.\n\nUse this tool to delete the most recently imported bank statement from the specified bank account. Useful for correcting errors or removing unnecessary data.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. This is required to specify which organization's bank statement needs to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the bank account from which the statement will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_statement_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank statement to be deleted. Required for identifying which statement to remove.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_last_imported_bank_statement'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteLastImportedBankStatement", - "parameters": { - "organization_id": { - "value": "682453000000123456", - "type": "string", - "required": true - }, - "bank_account_unique_identifier": { - "value": "682453000000654321", - "type": "string", - "required": true - }, - "bank_statement_id": { - "value": "682453000000987654", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteLocation", - "qualifiedName": "ZohoBooksApi.DeleteLocation", - "fullyQualifiedName": "ZohoBooksApi.DeleteLocation@1.0.0", - "description": "Delete a location from the system.\n\nUse this tool to remove a location by specifying its unique identifier in the system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization to which the location belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "location_id", - "type": "string", - "required": true, - "description": "The unique identifier of the location to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_location'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteLocation", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "location_id": { - "value": "987654321098765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteLoggedTimeEntry", - "qualifiedName": "ZohoBooksApi.DeleteLoggedTimeEntry", - "fullyQualifiedName": "ZohoBooksApi.DeleteLoggedTimeEntry@1.0.0", - "description": "Delete a specific logged time entry.\n\nUse this tool to delete a logged time entry from a project by specifying the time entry ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization from which the time entry will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "time_entry_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the logged time entry to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_time_entry'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteLoggedTimeEntry", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "time_entry_identifier": { - "value": "TE-987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteMultipleVendorPayments", - "qualifiedName": "ZohoBooksApi.DeleteMultipleVendorPayments", - "fullyQualifiedName": "ZohoBooksApi.DeleteMultipleVendorPayments@1.0.0", - "description": "Delete multiple vendor payments in one action.\n\nUse this tool to delete multiple vendor payments at once, streamlining payment management and cleanup tasks.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization from which the vendor payments are to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_payment_ids", - "type": "string", - "required": true, - "description": "Comma-separated list of vendor payment IDs to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "bulk_delete", - "type": "boolean", - "required": true, - "description": "Set to true to perform bulk deletion of vendor payments.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_delete_vendor_payments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteMultipleVendorPayments", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "vendor_payment_ids": { - "value": "VPAY12345,VPAY67890,VPAY24680", - "type": "string", - "required": true - }, - "bulk_delete": { - "value": true, - "type": "boolean", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteOpeningBalance", - "qualifiedName": "ZohoBooksApi.DeleteOpeningBalance", - "fullyQualifiedName": "ZohoBooksApi.DeleteOpeningBalance@1.0.0", - "description": "Delete the entered opening balance in Zoho Books.\n\nUse this tool to remove the existing opening balance from Zoho Books settings when adjustments or corrections are needed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose opening balance is to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_opening_balance'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteOpeningBalance", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteProject", - "qualifiedName": "ZohoBooksApi.DeleteProject", - "fullyQualifiedName": "ZohoBooksApi.DeleteProject@1.0.0", - "description": "Deletes an existing project in Zoho Books.\n\nCall this tool to delete an existing project in Zoho Books using the project ID. It confirms the deletion of the specified project.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. Required to identify the organization from which the project will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "project_id", - "type": "string", - "required": true, - "description": "Unique identifier of the project to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_project'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteProject", - "parameters": { - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "project_id": { - "value": "987654321098765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteProjectComment", - "qualifiedName": "ZohoBooksApi.DeleteProjectComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteProjectComment@1.0.0", - "description": "Delete a specific comment from a project.\n\nUse this tool to delete a comment from a specified project. Useful when you need to remove unwanted or outdated comments from project discussions.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the comment is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the project to delete the comment from.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the comment to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_project_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteProjectComment", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "project_identifier": { - "value": "proj_45678", - "type": "string", - "required": true - }, - "comment_unique_identifier": { - "value": "comment_7890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteProjectTask", - "qualifiedName": "ZohoBooksApi.DeleteProjectTask", - "fullyQualifiedName": "ZohoBooksApi.DeleteProjectTask@1.0.0", - "description": "Remove a task from a specific project in Zoho Books.\n\nCall this tool to delete a specified task from a project using Zoho Books API. Use it when you need to manage project tasks and remove any that are no longer relevant.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization to which the task belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the project from which a task will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "task_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the task to be deleted in the project.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_task'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteProjectTask", - "parameters": { - "organization_identifier": { - "value": "1000000001", - "type": "string", - "required": true - }, - "project_identifier": { - "value": "proj_987654321", - "type": "string", - "required": true - }, - "task_identifier": { - "value": "task_abc123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeletePurchaseOrder", - "qualifiedName": "ZohoBooksApi.DeletePurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.DeletePurchaseOrder@1.0.0", - "description": "Delete an existing purchase order in Zoho Books.\n\nUse this tool to remove a purchase order by providing its ID. The endpoint confirms the deletion once the operation is successful.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization within Zoho Books. Required to specify which organization's purchase order is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the purchase order to delete.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_purchase_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeletePurchaseOrder", - "parameters": { - "organization_id": { - "value": "6000000000001", - "type": "string", - "required": true - }, - "purchase_order_identifier": { - "value": "166915000000012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeletePurchaseOrderAttachment", - "qualifiedName": "ZohoBooksApi.DeletePurchaseOrderAttachment", - "fullyQualifiedName": "ZohoBooksApi.DeletePurchaseOrderAttachment@1.0.0", - "description": "Deletes the attachment from a purchase order.\n\nThis tool is used to delete the file attached to a specified purchase order in Zoho Books, identified by the purchase order ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization in Zoho Books. This is required to specify which organization's records to access or modify.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the purchase order to delete the attachment from.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_purchase_order_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeletePurchaseOrderAttachment", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "20000056789", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeletePurchaseOrderComment", - "qualifiedName": "ZohoBooksApi.DeletePurchaseOrderComment", - "fullyQualifiedName": "ZohoBooksApi.DeletePurchaseOrderComment@1.0.0", - "description": "Delete a comment from a purchase order.\n\nUse this tool to remove a specific comment associated with a purchase order by providing the purchase order ID and the comment ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. Provide this to specify which organization's purchase order comment you wish to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the purchase order to delete the comment from.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the comment to be deleted. Required to specify which comment to remove from a purchase order.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_purchase_order_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeletePurchaseOrderComment", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "PO-987654321", - "type": "string", - "required": true - }, - "comment_unique_identifier": { - "value": "cmt_abc123def", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteRecurringBill", - "qualifiedName": "ZohoBooksApi.DeleteRecurringBill", - "fullyQualifiedName": "ZohoBooksApi.DeleteRecurringBill@1.0.0", - "description": "Delete an existing recurring bill in Zoho Books.\n\nUse this tool to delete a recurring bill identified by its ID in Zoho Books. This is useful when managing financial records and removing bills that are no longer needed.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization in Zoho Books to delete a recurring bill from.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the recurring bill to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_recurring_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteRecurringBill", - "parameters": { - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": true - }, - "recurring_bill_identifier": { - "value": "RB-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteRecurringExpense", - "qualifiedName": "ZohoBooksApi.DeleteRecurringExpense", - "fullyQualifiedName": "ZohoBooksApi.DeleteRecurringExpense@1.0.0", - "description": "Delete an existing recurring expense in Zoho Books.\n\nUse this tool to delete a recurring expense from Zoho Books when it's no longer needed or has been replaced. The tool confirms the successful removal of the specified recurring expense.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_expense_id", - "type": "string", - "required": true, - "description": "The unique identifier for the recurring expense to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_recurring_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteRecurringExpense", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "recurring_expense_id": { - "value": "RE-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteRecurringInvoice", - "qualifiedName": "ZohoBooksApi.DeleteRecurringInvoice", - "fullyQualifiedName": "ZohoBooksApi.DeleteRecurringInvoice@1.0.0", - "description": "Delete an existing recurring invoice.\n\nCall this tool to remove a recurring invoice from the system. Ensure you have the correct invoice ID to successfully delete the desired invoice.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization to which the recurring invoice belongs. Required for identifying the correct organization.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier for the recurring invoice to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_recurring_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteRecurringInvoice", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "recurring_invoice_id": { - "value": "recurring_9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteRetainerInvoice", - "qualifiedName": "ZohoBooksApi.DeleteRetainerInvoice", - "fullyQualifiedName": "ZohoBooksApi.DeleteRetainerInvoice@1.0.0", - "description": "Delete an existing retainer invoice.\n\nUse this tool to delete a retainer invoice. Note that invoices with applied payments or credit notes cannot be deleted.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization whose retainer invoice you want to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice to delete. Required for specifying the invoice to be removed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_retainer_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteRetainerInvoice", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "retainer_invoice_identifier": { - "value": "RINV-2025-00123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteRetainerInvoiceAttachment", - "qualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceAttachment", - "fullyQualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceAttachment@1.0.0", - "description": "Delete a file attached to a retainer invoice.\n\nUse this tool to delete a specific file attached to a retainer invoice. Call it when you need to remove an attachment from an invoice in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books whose invoice attachment is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice to specify which invoice's attachment should be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "document_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice document to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_retainer_invoice_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteRetainerInvoiceAttachment", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "9876543210", - "type": "string", - "required": true - }, - "document_id": { - "value": "a1b2c3d4-e5f6-7890-abcd-1234567890ab", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteRetainerInvoiceComment", - "qualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceComment@1.0.0", - "description": "Remove a specific comment from a retainer invoice.\n\nUse this tool to delete a comment from a retainer invoice in Zoho Books by providing the retainer invoice ID and the comment ID.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization within Zoho Books for which the comment is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice to find the specific invoice for comment deletion.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the comment to be deleted from the retainer invoice.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_retainer_invoice_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteRetainerInvoiceComment", - "parameters": { - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "987654321", - "type": "string", - "required": true - }, - "comment_identifier": { - "value": "555666777", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteSalesOrder", - "qualifiedName": "ZohoBooksApi.DeleteSalesOrder", - "fullyQualifiedName": "ZohoBooksApi.DeleteSalesOrder@1.0.0", - "description": "Delete an existing sales order.\n\nUse this tool to delete an existing sales order by its ID. It cannot delete invoiced sales orders.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the ID of the organization for which the sales order will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier for the sales order to be deleted. Ensure it is not invoiced.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_sales_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteSalesOrder", - "parameters": { - "organization_id": { - "value": "876543210", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteSalesOrderAttachment", - "qualifiedName": "ZohoBooksApi.DeleteSalesOrderAttachment", - "fullyQualifiedName": "ZohoBooksApi.DeleteSalesOrderAttachment@1.0.0", - "description": "Delete an attached file from a sales order in Zoho Books.\n\nCall this tool to remove an attached file from a specified sales order in Zoho Books. Useful for managing and updating records by deleting unnecessary or outdated attachments.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization whose sales order attachment is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier for the sales order from which the attachment will be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_sales_order_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteSalesOrderAttachment", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteSalesOrderComment", - "qualifiedName": "ZohoBooksApi.DeleteSalesOrderComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteSalesOrderComment@1.0.0", - "description": "Delete a comment from a sales order in Zoho Books.\n\nUse this tool to remove a comment from a specific sales order in Zoho Books by providing the sales order ID and the comment ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization. This ID is required to specify which organization's sales order comment needs to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order to delete the comment from.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the comment to delete.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_sales_order_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteSalesOrderComment", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO1234567890", - "type": "string", - "required": true - }, - "comment_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteSalesReceipt", - "qualifiedName": "ZohoBooksApi.DeleteSalesReceipt", - "fullyQualifiedName": "ZohoBooksApi.DeleteSalesReceipt@1.0.0", - "description": "Delete an existing sales receipt in Zoho Books.\n\nThis tool deletes a specified sales receipt from Zoho Books. It should be used when you need to permanently remove a sales receipt by its ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_receipt_id", - "type": "string", - "required": true, - "description": "The unique identifier for the sales receipt to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_sales_receipt'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteSalesReceipt", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "sales_receipt_id": { - "value": "SR-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteTax", - "qualifiedName": "ZohoBooksApi.DeleteTax", - "fullyQualifiedName": "ZohoBooksApi.DeleteTax@1.0.0", - "description": "Delete a simple or compound tax in Zoho Books.\n\nUse this tool to remove a specific tax, whether simple or compound, from the Zoho Books system. This is useful when managing taxes and ensuring only relevant ones are active.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization within Zoho Books. This is required to specify which organization's tax entry to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the tax to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_tax'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteTax", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "tax_identifier": { - "value": "TAX_9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteTaxAuthority", - "qualifiedName": "ZohoBooksApi.DeleteTaxAuthority", - "fullyQualifiedName": "ZohoBooksApi.DeleteTaxAuthority@1.0.0", - "description": "Delete a specific tax authority.\n\nUse this tool to delete a tax authority when you need its removal confirmed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to identify which one the tax authority belongs to.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_authority_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the tax authority to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_tax_authority'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteTaxAuthority", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "tax_authority_identifier": { - "value": "TA-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteTaxExemption", - "qualifiedName": "ZohoBooksApi.DeleteTaxExemption", - "fullyQualifiedName": "ZohoBooksApi.DeleteTaxExemption@1.0.0", - "description": "Delete a specific tax exemption from Zoho Books.\n\nUse this tool to delete a tax exemption in Zoho Books when you need to remove a specific exemption entry.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_exemption_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the tax exemption to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_tax_exemption'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteTaxExemption", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "tax_exemption_identifier": { - "value": "TXE-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteTaxGroup", - "qualifiedName": "ZohoBooksApi.DeleteTaxGroup", - "fullyQualifiedName": "ZohoBooksApi.DeleteTaxGroup@1.0.0", - "description": "Delete a tax group if not associated with transactions.\n\nUse this tool to delete a tax group from Zoho Books. Note that tax groups associated with transactions cannot be deleted.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_group_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the tax group to be deleted. Ensure it's not associated with active transactions to proceed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_tax_group'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteTaxGroup", - "parameters": { - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "tax_group_identifier": { - "value": "TG_1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteTimeEntries", - "qualifiedName": "ZohoBooksApi.DeleteTimeEntries", - "fullyQualifiedName": "ZohoBooksApi.DeleteTimeEntries@1.0.0", - "description": "Delete time tracking entries from projects.\n\nUse this tool to delete time entries from projects in Zoho Books. It should be called when you need to remove specific time tracking records.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization to identify which entity's time entries will be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_time_entries'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteTimeEntries", - "parameters": { - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteTransaction", - "qualifiedName": "ZohoBooksApi.DeleteTransaction", - "fullyQualifiedName": "ZohoBooksApi.DeleteTransaction@1.0.0", - "description": "Delete a specified accounting transaction.\n\nThis tool is used to delete a specified transaction from the chart of accounts in Zoho Books. Call this tool when you need to remove a transaction permanently.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books for which the transaction will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the transaction to be deleted in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_chart_of_account_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteTransaction", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "transaction_identifier": { - "value": "TRX-2026-000123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteVendorCredit", - "qualifiedName": "ZohoBooksApi.DeleteVendorCredit", - "fullyQualifiedName": "ZohoBooksApi.DeleteVendorCredit@1.0.0", - "description": "Delete a vendor credit by its ID.\n\nUse this tool to delete a specific vendor credit using its unique ID. This is typically required when a vendor credit is no longer valid or was added by mistake.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to specify which organization's vendor credit to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor credit to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_vendor_credit'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteVendorCredit", - "parameters": { - "organization_id": { - "value": "679845123", - "type": "string", - "required": true - }, - "vendor_credit_identifier": { - "value": "VC-2026-00042", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteVendorCreditComment", - "qualifiedName": "ZohoBooksApi.DeleteVendorCreditComment", - "fullyQualifiedName": "ZohoBooksApi.DeleteVendorCreditComment@1.0.0", - "description": "Delete a vendor credit comment in Zoho Books.\n\nUse this tool to delete a specific comment from a vendor credit in Zoho Books. This is useful when you need to manage or clean up vendor credit records by removing unnecessary or incorrect comments.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_id", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor credit to specify which comment to delete.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_id", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor credit comment to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_vendor_credit_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteVendorCreditComment", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "vendor_credit_id": { - "value": "100000000012345", - "type": "string", - "required": true - }, - "comment_id": { - "value": "200000000045678", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteVendorCreditRefund", - "qualifiedName": "ZohoBooksApi.DeleteVendorCreditRefund", - "fullyQualifiedName": "ZohoBooksApi.DeleteVendorCreditRefund@1.0.0", - "description": "Delete a vendor credit refund in Zoho Books.\n\nUse this tool to delete a specific vendor credit refund in Zoho Books when you have the vendor credit ID and refund ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization to which the vendor credit refund belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the vendor credit, required to delete the refund.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_refund_id", - "type": "string", - "required": true, - "description": "Unique identifier for the specific vendor credit refund you wish to delete.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_vendor_credit_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteVendorCreditRefund", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "vendor_credit_identifier": { - "value": "VC-98765", - "type": "string", - "required": true - }, - "vendor_credit_refund_id": { - "value": "REFUND-54321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteVendorPayment", - "qualifiedName": "ZohoBooksApi.DeleteVendorPayment", - "fullyQualifiedName": "ZohoBooksApi.DeleteVendorPayment@1.0.0", - "description": "Delete an existing vendor payment in Zoho Books.\n\nUse this tool to delete a specific vendor payment in Zoho Books when you have the payment ID and need to erase it from the records.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the vendor payment is to be deleted. This is required to identify the correct organization within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_payment_id", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor payment to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_vendor_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteVendorPayment", - "parameters": { - "organization_id": { - "value": "276542000000123456", - "type": "string", - "required": true - }, - "vendor_payment_id": { - "value": "276542000000654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DeleteVendorPaymentRefund", - "qualifiedName": "ZohoBooksApi.DeleteVendorPaymentRefund", - "fullyQualifiedName": "ZohoBooksApi.DeleteVendorPaymentRefund@1.0.0", - "description": "Delete a refund from an existing vendor payment.\n\nUse this tool to remove a specific refund associated with a vendor payment. It's useful when a refund needs to be retracted or corrected.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization to which the vendor payment refund belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the payment to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_payment_refund_id", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor payment refund to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_vendor_payment_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DeleteVendorPaymentRefund", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "payment_identifier": { - "value": "PAY-2025-0001", - "type": "string", - "required": true - }, - "vendor_payment_refund_id": { - "value": "REF-987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DisableContactPaymentReminder", - "qualifiedName": "ZohoBooksApi.DisableContactPaymentReminder", - "fullyQualifiedName": "ZohoBooksApi.DisableContactPaymentReminder@1.0.0", - "description": "Disable automated payment reminders for a contact.\n\nThis tool is used to disable automated payment reminders for a specific contact in Zoho Books. It should be called when you want to stop the system from sending payment reminders to a particular contact.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books for which payment reminders will be disabled.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the contact to disable payment reminders for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'disable_contact_payment_reminder'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DisableContactPaymentReminder", - "parameters": { - "organization_id": { - "value": "600123456789", - "type": "string", - "required": true - }, - "contact_unique_identifier": { - "value": "c_9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "DisableInvoicePaymentReminder", - "qualifiedName": "ZohoBooksApi.DisableInvoicePaymentReminder", - "fullyQualifiedName": "ZohoBooksApi.DisableInvoicePaymentReminder@1.0.0", - "description": "Disable automated payment reminders for an invoice.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to specify which organization's invoice reminders are being disabled.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to disable payment reminders.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'disable_invoice_payment_reminder'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.DisableInvoicePaymentReminder", - "parameters": { - "organization_id": { - "value": "1000123456", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-00045", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "EmailContactStatement", - "qualifiedName": "ZohoBooksApi.EmailContactStatement", - "fullyQualifiedName": "ZohoBooksApi.EmailContactStatement@1.0.0", - "description": "Sends an email statement to a specified contact.\n\n This tool triggers an email statement to be sent to a specific contact using Zoho Books. If no JSON input is provided, the email will use default content. Use this tool when you need to send financial statements to clients or contacts.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required to send the email statement to a specified contact. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the contact to send the statement to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "statement_start_date", - "type": "string", - "required": false, - "description": "The starting date for the statement in the format [yyyy-mm-dd]. If omitted, the current month will be used. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "statement_end_date", - "type": "string", - "required": false, - "description": "End date for the statement in the format [yyyy-mm-dd]. If not provided, the current month's statement will be sent. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "attachment_files", - "type": "string", - "required": false, - "description": "Files to be attached with the statement email, in multipart/form-data format. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_contact_statement'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.EmailContactStatement", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "contact_identifier": { - "value": "987654321", - "type": "string", - "required": false - }, - "statement_start_date": { - "value": "2026-01-01", - "type": "string", - "required": false - }, - "statement_end_date": { - "value": "2026-01-31", - "type": "string", - "required": false - }, - "attachment_files": { - "value": "statement_Jan2026.pdf", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"subject\":\"January Statement\",\"message\":\"Please find attached your statement for January 2026. Contact us if you have any questions.\",\"send_mail\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "EmailCreditNote", - "qualifiedName": "ZohoBooksApi.EmailCreditNote", - "fullyQualifiedName": "ZohoBooksApi.EmailCreditNote@1.0.0", - "description": "Send a credit note via email.\n\n Use this tool to email a credit note to the intended recipient. It's useful for sending invoice adjustments to clients.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "ID of the organization for which the credit note is being emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": false, - "description": "Unique identifier of the credit note to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_id_for_credit_note", - "type": "string", - "required": false, - "description": "Customer ID for whom the credit note is raised. Used to identify the recipient of the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "email_attachments", - "type": "string", - "required": false, - "description": "The file paths or URLs of files to attach to the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_credit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.EmailCreditNote", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "987654321", - "type": "string", - "required": false - }, - "credit_note_id": { - "value": "CN-2026-001", - "type": "string", - "required": false - }, - "customer_id_for_credit_note": { - "value": "CUST-54321", - "type": "string", - "required": false - }, - "email_attachments": { - "value": "https://example.com/attachment.pdf", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"to_mail_ids\":[\"client@example.com\"],\"subject\":\"Credit Note CN-2026-001\",\"body\":\"Please find the attached credit note. Reach out if you have any questions.\",\"send_from_org_email\":\"billing@mycompany.com\",\"send_pdf\":true,\"attachments\":[\"https://example.com/attachment.pdf\"]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "EmailRetainerInvoiceToCustomer", - "qualifiedName": "ZohoBooksApi.EmailRetainerInvoiceToCustomer", - "fullyQualifiedName": "ZohoBooksApi.EmailRetainerInvoiceToCustomer@1.0.0", - "description": "Send a retainer invoice to a customer via email.\n\n This tool emails a retainer invoice to the specified customer. If no custom content is provided, the email will use the default content.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": false, - "description": "The unique identifier of the retainer invoice to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "email_attachments", - "type": "string", - "required": false, - "description": "List of file paths or URLs for files to attach to the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_customer_statement", - "type": "boolean", - "required": false, - "description": "Set to true to send the customer statement PDF with the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "attach_invoice_to_email", - "type": "boolean", - "required": false, - "description": "Attach the retainer invoice to the email if true. Accepts a boolean value. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_retainer_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.EmailRetainerInvoiceToCustomer", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60001234567", - "type": "string", - "required": false - }, - "retainer_invoice_id": { - "value": "RI-1001", - "type": "string", - "required": false - }, - "email_attachments": { - "value": "[\"/files/terms.pdf\",\"https://cdn.example.com/attachment.pdf\"]", - "type": "string", - "required": false - }, - "send_customer_statement": { - "value": true, - "type": "boolean", - "required": false - }, - "attach_invoice_to_email": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"to_mail_ids\":[\"client@example.com\"],\"subject\":\"Retainer Invoice RI-1001\",\"body\":\"Dear Customer,\\n\\nPlease find your retainer invoice attached. If you have any questions, reply to this email.\\n\\nRegards,\\nYour Company\",\"cc_mail_ids\":[\"accounting@example.com\"],\"bcc_mail_ids\":[],\"send_from_org_email_id\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "EmailSalesOrderToCustomer", - "qualifiedName": "ZohoBooksApi.EmailSalesOrderToCustomer", - "fullyQualifiedName": "ZohoBooksApi.EmailSalesOrderToCustomer@1.0.0", - "description": "Email a sales order to a customer.\n\n Send an email containing the sales order to the customer, with optional custom content. If no content is provided, the default email content will be used.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the sales order is being emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": false, - "description": "Provide the unique identifier of the sales order to be emailed to the customer. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the sales order to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_attachments", - "type": "string", - "required": false, - "description": "A list of file paths or URLs for attachments to include with the sales order email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "file_name", - "type": "string", - "required": false, - "description": "Specify the name of the file to be attached to the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "include_sales_order_attachment", - "type": "boolean", - "required": false, - "description": "Specify true to include the sales order attachment in the email, or false to exclude it. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_sales_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.EmailSalesOrderToCustomer", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60001234567", - "type": "string", - "required": false - }, - "sales_order_id": { - "value": "SO1234567", - "type": "string", - "required": false - }, - "sales_order_identifier": { - "value": "SO-1001", - "type": "string", - "required": false - }, - "sales_order_attachments": { - "value": "[\"https://example.com/files/terms.pdf\",\"/local/path/specs.pdf\"]", - "type": "string", - "required": false - }, - "file_name": { - "value": "SalesOrder_SO-1001.pdf", - "type": "string", - "required": false - }, - "include_sales_order_attachment": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"subject\":\"Sales Order SO-1001 from Acme Corp\",\"message\":\"Hello John Doe,\\n\\nPlease find attached your sales order. If you have any questions, reply to this email.\\n\\nRegards,\\nAcme Corp\",\"to_mail_ids\":[\"john.doe@example.com\"],\"cc_mail_ids\":[\"accounts@example.com\"],\"notify_customer\":true,\"send_from_org_email_id\":\"1023456789012345678\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "EmailSalesReceiptToCustomer", - "qualifiedName": "ZohoBooksApi.EmailSalesReceiptToCustomer", - "fullyQualifiedName": "ZohoBooksApi.EmailSalesReceiptToCustomer@1.0.0", - "description": "Email a sales receipt to the customer.\n\n Use this tool to send a sales receipt via email to a specific customer. It should be called when you need to deliver the sales receipt directly to the customer.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "sales_receipt_identifier", - "type": "string", - "required": false, - "description": "The unique identifier of the sales receipt to be emailed to the customer. It must be a string. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "attach_pdf", - "type": "boolean", - "required": false, - "description": "Set to true to send the sales receipt PDF with the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_sales_receipt'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.EmailSalesReceiptToCustomer", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "sales_receipt_identifier": { - "value": "SR-2026-0001", - "type": "string", - "required": false - }, - "attach_pdf": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"to_mail_ids\":[\"jane.doe@example.com\"],\"subject\":\"Your Sales Receipt\",\"content\":\"Hello Jane Doe,\\nThank you for your purchase. Please find your sales receipt attached.\",\"cc_mail_ids\":[],\"bcc_mail_ids\":[]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "EnableContactPortalAccess", - "qualifiedName": "ZohoBooksApi.EnableContactPortalAccess", - "fullyQualifiedName": "ZohoBooksApi.EnableContactPortalAccess@1.0.0", - "description": "Enable portal access for a specified contact in Zoho Books.\n\n Use this tool to enable portal access for a contact in Zoho Books, allowing them to interact with their account through the portal.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization within Zoho Books, required to enable portal access for a contact. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_unique_id", - "type": "string", - "required": false, - "description": "Unique identifier for the specific contact whose portal access is to be enabled. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'enable_contact_portal'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.EnableContactPortalAccess", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "contact_unique_id": { - "value": "ct_9876543210", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"portal_enabled\": true, \"send_portal_invite\": true, \"portal_user\": {\"email\": \"client@example.com\", \"first_name\": \"John\", \"last_name\": \"Doe\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "EnableOrganizationLocations", - "qualifiedName": "ZohoBooksApi.EnableOrganizationLocations", - "fullyQualifiedName": "ZohoBooksApi.EnableOrganizationLocations@1.0.0", - "description": "Enable locations for an organization in Zoho Books.\n\nUse this tool to enable location settings for an organization in Zoho Books, allowing tracking and management of different locations within the company's account.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization for which to enable location tracking.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'enable_locations'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.EnableOrganizationLocations", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "EnablePaymentReminder", - "qualifiedName": "ZohoBooksApi.EnablePaymentReminder", - "fullyQualifiedName": "ZohoBooksApi.EnablePaymentReminder@1.0.0", - "description": "Enable automated payment reminders for a contact.\n\nThis tool is used to enable automated payment reminders for a specific contact, improving timely payment handling.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the unique ID of the organization for which to enable payment reminders.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the contact for whom the payment reminder is enabled.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'enable_contact_payment_reminder'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.EnablePaymentReminder", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "contact_unique_identifier": { - "value": "contact_7a9f5b3c", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ExcludeBankTransaction", - "qualifiedName": "ZohoBooksApi.ExcludeBankTransaction", - "fullyQualifiedName": "ZohoBooksApi.ExcludeBankTransaction@1.0.0", - "description": "Exclude a transaction from a bank or credit card account.\n\nUse this tool to exclude a specific transaction from your bank or credit card account records. Ideal for removing unwanted or incorrect entries.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to which the transaction belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank transaction to be excluded.", - "enum": null, - "inferrable": true - }, - { - "name": "account_id_for_transaction_exclusion", - "type": "string", - "required": false, - "description": "The ID of the account from which a transaction will be excluded. This is a mandatory field.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'exclude_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ExcludeBankTransaction", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "transaction_id": { - "value": "40234500000012345678", - "type": "string", - "required": true - }, - "account_id_for_transaction_exclusion": { - "value": "10123456789", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ExportAndPrintEstimates", - "qualifiedName": "ZohoBooksApi.ExportAndPrintEstimates", - "fullyQualifiedName": "ZohoBooksApi.ExportAndPrintEstimates@1.0.0", - "description": "Export and print estimates as a PDF file.\n\nUse this tool to export up to 25 estimates as a PDF file and prepare them for printing.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization whose estimates are to be exported and printed.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_ids_to_export", - "type": "string", - "required": true, - "description": "Comma-separated list of estimate IDs to export and print. Maximum of 25 IDs allowed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_print_estimates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ExportAndPrintEstimates", - "parameters": { - "organization_id": { - "value": "813159000000123456", - "type": "string", - "required": true - }, - "estimate_ids_to_export": { - "value": "EST-1001,EST-1002,EST-1003,EST-1004,EST-1005", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ExportAndPrintInvoices", - "qualifiedName": "ZohoBooksApi.ExportAndPrintInvoices", - "fullyQualifiedName": "ZohoBooksApi.ExportAndPrintInvoices@1.0.0", - "description": "Export and print multiple invoices as PDFs.\n\nUse this tool to export and print up to 25 invoices at a time in PDF format.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to specify which organization's invoices to print.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifiers", - "type": "string", - "required": true, - "description": "A comma-separated string of up to 25 invoice IDs to export and print as PDFs.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_print_invoices'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ExportAndPrintInvoices", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "invoice_identifiers": { - "value": "INV-1001,INV-1002,INV-1003", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ExportEstimatesAsPdf", - "qualifiedName": "ZohoBooksApi.ExportEstimatesAsPdf", - "fullyQualifiedName": "ZohoBooksApi.ExportEstimatesAsPdf@1.0.0", - "description": "Export up to 25 estimates as a single PDF document.\n\nUse this tool to export multiple estimates (up to 25) in one consolidated PDF document. Ideal for compiling estimates quickly into a single file for review or sharing.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. Required to specify which organization's estimates are to be exported.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_ids", - "type": "string", - "required": true, - "description": "Comma-separated list of estimate IDs to include in the PDF. Maximum of 25 IDs allowed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_export_estimates_as_pdf'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ExportEstimatesAsPdf", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "estimate_ids": { - "value": "1001,1002,1003,1004,1005", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ExportInvoicesAsPdf", - "qualifiedName": "ZohoBooksApi.ExportInvoicesAsPdf", - "fullyQualifiedName": "ZohoBooksApi.ExportInvoicesAsPdf@1.0.0", - "description": "Export up to 25 invoices as a single PDF file.\n\nUse this tool to export multiple invoices into a single PDF document. Ideal for consolidating up to 25 invoices in one file.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which invoices are being exported.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_ids", - "type": "string", - "required": true, - "description": "Comma-separated list of invoice IDs to export as a PDF. Maximum of 25 IDs allowed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_export_invoices_as_pdf'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ExportInvoicesAsPdf", - "parameters": { - "organization_identifier": { - "value": "60012345678", - "type": "string", - "required": true - }, - "invoice_ids": { - "value": "INV-1001,INV-1002,INV-1003,INV-1004", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ExportPrintSalesOrders", - "qualifiedName": "ZohoBooksApi.ExportPrintSalesOrders", - "fullyQualifiedName": "ZohoBooksApi.ExportPrintSalesOrders@1.0.0", - "description": "Export and print sales orders as PDFs.\n\nExports up to 25 sales orders as PDF files for printing. This tool is used to generate printable documents of sales orders in batch format.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization whose sales orders you want to export and print as PDFs.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_print_sales_orders'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ExportPrintSalesOrders", - "parameters": { - "organization_id": { - "value": "org_67234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ExportSalesOrdersPdf", - "qualifiedName": "ZohoBooksApi.ExportSalesOrdersPdf", - "fullyQualifiedName": "ZohoBooksApi.ExportSalesOrdersPdf@1.0.0", - "description": "Export sales orders as a single PDF document.\n\nUse this tool to export up to 25 sales orders into a single PDF file from Zoho Books. It is useful for generating and retrieving sales documentation in bulk for reporting or archiving.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose sales orders will be exported as a PDF. This ID is required to access and retrieve the sales order data from Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_export_sales_orders_as_pdf'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ExportSalesOrdersPdf", - "parameters": { - "organization_id": { - "value": "3578230000001234567", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "FetchAssetHistory", - "qualifiedName": "ZohoBooksApi.FetchAssetHistory", - "fullyQualifiedName": "ZohoBooksApi.FetchAssetHistory@1.0.0", - "description": "Fetch the detailed history of a specific fixed asset.\n\nThis tool retrieves a comprehensive history of a fixed asset, detailing its journey from acquisition to write-off. It should be called when you need insights into a fixed asset's lifecycle.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose asset history is being requested.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the fixed asset. Required to fetch its detailed history.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Page number to retrieve, with a default value of 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Defaults to 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_fixed_asset_history'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.FetchAssetHistory", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "fixed_asset_identifier": { - "value": "FA-2021-0001", - "type": "string", - "required": true - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 200, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "FetchBankAccountRules", - "qualifiedName": "ZohoBooksApi.FetchBankAccountRules", - "fullyQualifiedName": "ZohoBooksApi.FetchBankAccountRules@1.0.0", - "description": "Fetch rules for a specified bank account.\n\nThis tool fetches all the rules created for a given bank or credit card account ID. It's used to retrieve details about transaction rules associated with a specific account.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. This ID is necessary to fetch the rules linked with the specified bank or credit card account.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_id", - "type": "integer", - "required": true, - "description": "ID of the bank or credit card account to fetch rules for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_bank_account_rules'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.FetchBankAccountRules", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bank_account_id": { - "value": 987654321, - "type": "integer", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "FetchBankTransactionDetails", - "qualifiedName": "ZohoBooksApi.FetchBankTransactionDetails", - "fullyQualifiedName": "ZohoBooksApi.FetchBankTransactionDetails@1.0.0", - "description": "Fetch details of a specific bank transaction by ID.\n\nUse this tool to retrieve detailed information about a bank transaction by providing its transaction ID. This is useful for accessing specific transaction records in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the bank transaction details need to be fetched.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": true, - "description": "Unique identifier for the bank transaction to fetch its details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.FetchBankTransactionDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bank_transaction_id": { - "value": "BTX-987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "FetchEmployeeDetails", - "qualifiedName": "ZohoBooksApi.FetchEmployeeDetails", - "fullyQualifiedName": "ZohoBooksApi.FetchEmployeeDetails@1.0.0", - "description": "Retrieve detailed information about an employee.\n\nThis tool is used to obtain comprehensive details of a specific employee by their ID in Zoho Books. It should be called when detailed employee information is needed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization in Zoho Books. This ID is necessary to specify which organization's employee details are being requested.", - "enum": null, - "inferrable": true - }, - { - "name": "employee_unique_id", - "type": "string", - "required": true, - "description": "The unique identifier for the employee whose details are to be fetched in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_employee'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.FetchEmployeeDetails", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "employee_unique_id": { - "value": "8736452000001234567", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "FetchVendorCreditRefunds", - "qualifiedName": "ZohoBooksApi.FetchVendorCreditRefunds", - "fullyQualifiedName": "ZohoBooksApi.FetchVendorCreditRefunds@1.0.0", - "description": "Retrieve a paginated list of vendor credit refunds.\n\nUse this tool to obtain detailed information about vendor credit refunds, useful for financial reconciliation and tracking vendor transactions. This tool supports pagination.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization for which to list vendor credit refunds.", - "enum": null, - "inferrable": true - }, - { - "name": "search_vendor_credits_by_customer_id", - "type": "integer", - "required": false, - "description": "Search for vendor credits linked to a specific customer using their ID.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_last_modified_time", - "type": "string", - "required": false, - "description": "Search vendor credits using the last modified time as a filter. This expects a date-time string, typically in ISO 8601 format, to narrow down results by when they were last modified.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_vendor_credits_by_column", - "type": "string", - "required": false, - "description": "Specify the column to sort vendor credits by. Allowed values: vendor_name, vendor_credit_number, balance, total, date, created_time, last_modified_time, reference_number.", - "enum": null, - "inferrable": true - }, - { - "name": "pagination_page_number", - "type": "integer", - "required": false, - "description": "Specify the page number of results to retrieve for pagination. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of vendor credits to return per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_vendor_credit_refunds1'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.FetchVendorCreditRefunds", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "search_vendor_credits_by_customer_id": { - "value": 987654321, - "type": "integer", - "required": false - }, - "vendor_credit_last_modified_time": { - "value": "2026-02-01T12:00:00Z", - "type": "string", - "required": false - }, - "sort_vendor_credits_by_column": { - "value": "last_modified_time", - "type": "string", - "required": false - }, - "pagination_page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "FetchVendorPaymentDetails", - "qualifiedName": "ZohoBooksApi.FetchVendorPaymentDetails", - "fullyQualifiedName": "ZohoBooksApi.FetchVendorPaymentDetails@1.0.0", - "description": "Retrieve details of a vendor payment by payment ID.\n\nCall this tool to get detailed information about a specific vendor payment using the payment ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to retrieve the vendor payment details.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the payment to retrieve its details.", - "enum": null, - "inferrable": true - }, - { - "name": "include_tax_information", - "type": "boolean", - "required": false, - "description": "Set to true to fetch tax information for the vendor payment.", - "enum": null, - "inferrable": true - }, - { - "name": "fetch_statement_line_info", - "type": "boolean", - "required": false, - "description": "Set to true to fetch statement line information for the vendor payment.", - "enum": null, - "inferrable": true - }, - { - "name": "print_payment", - "type": "boolean", - "required": false, - "description": "Specify true to print the Vendor Payment details.", - "enum": null, - "inferrable": true - }, - { - "name": "is_bill_payment_id", - "type": "boolean", - "required": false, - "description": "True if the ID is for a Bill Payment, false for a Vendor Payment.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_vendor_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.FetchVendorPaymentDetails", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "payment_identifier": { - "value": "VPAY-2026-00042", - "type": "string", - "required": true - }, - "include_tax_information": { - "value": true, - "type": "boolean", - "required": false - }, - "fetch_statement_line_info": { - "value": false, - "type": "boolean", - "required": false - }, - "print_payment": { - "value": false, - "type": "boolean", - "required": false - }, - "is_bill_payment_id": { - "value": false, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "FindMatchingBankTransactions", - "qualifiedName": "ZohoBooksApi.FindMatchingBankTransactions", - "fullyQualifiedName": "ZohoBooksApi.FindMatchingBankTransactions@1.0.0", - "description": "Find matching uncategorized bank transactions.\n\nThis tool retrieves a list of uncategorized bank transactions that match specified criteria. It can also handle invoices, bills, and credit notes by recording and matching new payment or refund transactions.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to search transactions for.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_id", - "type": "string", - "required": true, - "description": "Unique identifier for the bank transaction to search for matching entries.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank transaction to be matched.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_type", - "type": "string", - "required": false, - "description": "Specify the type of transaction. Allowed values: deposit, refund, transfer_fund, card_payment, sales_without_invoices, expense_refund, owner_contribution, interest_income, other_income, owner_drawings, sales_return. Note: Some types are module-specific and cannot be created under this endpoint.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_date_after", - "type": "string", - "required": false, - "description": "Specify the date after which transactions should be filtered. Use YYYY-MM-DD format.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_date_before", - "type": "string", - "required": false, - "description": "Specify a date in YYYY-MM-DD format. Transactions before this date will be filtered.", - "enum": null, - "inferrable": true - }, - { - "name": "minimum_transaction_amount", - "type": "number", - "required": false, - "description": "Minimum amount to filter transactions. Only transactions equal to or greater than this amount are included.", - "enum": null, - "inferrable": true - }, - { - "name": "maximum_transaction_amount", - "type": "number", - "required": false, - "description": "Maximum amount for filtering transactions. Only transactions with an amount less than or equal to this value will be included.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_contact_name", - "type": "string", - "required": false, - "description": "Name of the contact person involved in the transaction.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_reference_number", - "type": "string", - "required": false, - "description": "Reference number of the transaction to filter matching records.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "Page number to fetch. Default is 1, used for pagination.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to be fetched per page. The default value is 200.", - "enum": null, - "inferrable": true - }, - { - "name": "show_all_transactions", - "type": "boolean", - "required": false, - "description": "Set to true to display all transactions without applying filters; false to filter transactions.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_matching_bank_transactions'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.FindMatchingBankTransactions", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "transaction_id": { - "value": "txn_987654321", - "type": "string", - "required": true - }, - "bank_transaction_id": { - "value": "bt_11223344", - "type": "string", - "required": true - }, - "transaction_type": { - "value": "deposit", - "type": "string", - "required": false - }, - "filter_date_after": { - "value": "2026-01-01", - "type": "string", - "required": false - }, - "filter_date_before": { - "value": "2026-01-31", - "type": "string", - "required": false - }, - "minimum_transaction_amount": { - "value": 50.75, - "type": "integer", - "required": false - }, - "maximum_transaction_amount": { - "value": 1000, - "type": "integer", - "required": false - }, - "transaction_contact_name": { - "value": "Acme Corp", - "type": "string", - "required": false - }, - "transaction_reference_number": { - "value": "REF-20260115-001", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - }, - "show_all_transactions": { - "value": false, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GenerateInvoicePaymentLink", - "qualifiedName": "ZohoBooksApi.GenerateInvoicePaymentLink", - "fullyQualifiedName": "ZohoBooksApi.GenerateInvoicePaymentLink@1.0.0", - "description": "Generate a payment link for an invoice with expiry.\n\nUse this tool to generate a unique payment link for a specified invoice, including setting an expiry date for the link.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "Specify the organization's unique ID.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_transaction_id", - "type": "string", - "required": true, - "description": "The unique ID of the transaction or invoice for which the payment link is generated.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_type", - "type": "string", - "required": true, - "description": "Specifies the type of transaction, typically 'Invoice'.", - "enum": null, - "inferrable": true - }, - { - "name": "link_type", - "type": "string", - "required": true, - "description": "Specifies whether the payment link is Private or Public.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_link_expiry_date", - "type": "string", - "required": true, - "description": "The date when the payment link should expire. Use format: yyyy-MM-dd.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.ALL" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'generate_invoice_payment_link'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GenerateInvoicePaymentLink", - "parameters": { - "organization_identifier": { - "value": "org_9a8b7c6d5e", - "type": "string", - "required": true - }, - "invoice_transaction_id": { - "value": "INV-2026-00042", - "type": "string", - "required": true - }, - "transaction_type": { - "value": "Invoice", - "type": "string", - "required": true - }, - "link_type": { - "value": "Private", - "type": "string", - "required": true - }, - "payment_link_expiry_date": { - "value": "2026-03-20", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetAccountDetails", - "qualifiedName": "ZohoBooksApi.GetAccountDetails", - "fullyQualifiedName": "ZohoBooksApi.GetAccountDetails@1.0.0", - "description": "Retrieve detailed information for a specified account.\n\nThis tool is used to obtain detailed information about a specific account from the chart of accounts. It should be called when you need to access account specifics such as account name, type, and other related details.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization to which the account belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "account_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier for the account details request.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_chart_of_account'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetAccountDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "account_unique_id": { - "value": "1023456000000001234", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetAssetDepreciationSummary", - "qualifiedName": "ZohoBooksApi.GetAssetDepreciationSummary", - "fullyQualifiedName": "ZohoBooksApi.GetAssetDepreciationSummary@1.0.0", - "description": "Displays detailed future depreciation rates for a fixed asset.\n\nUse this tool to obtain a summary of an asset's future depreciation rates. It is helpful for financial forecasting and decision-making regarding fixed assets.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the asset's future depreciation rates are to be retrieved.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the fixed asset to fetch its future depreciation rates.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_fixed_asset_forecast'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetAssetDepreciationSummary", - "parameters": { - "organization_identifier": { - "value": "org_1234567890", - "type": "string", - "required": true - }, - "fixed_asset_identifier": { - "value": "FA-2024-001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetBankAccountDetails", - "qualifiedName": "ZohoBooksApi.GetBankAccountDetails", - "fullyQualifiedName": "ZohoBooksApi.GetBankAccountDetails@1.0.0", - "description": "Retrieve detailed information of a specified bank account.\n\nCall this tool to get a comprehensive view of a bank account by specifying its account ID. Useful for accessing detailed account data within Zoho Books.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID for the organization. Required to specify which organization's data to access.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_id", - "type": "string", - "required": true, - "description": "Unique identifier used to specify the bank account for detailed retrieval.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_bank_account'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetBankAccountDetails", - "parameters": { - "organization_identifier": { - "value": "org_123456789", - "type": "string", - "required": true - }, - "bank_account_id": { - "value": "bank_acc_987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetBankAccountRuleDetails", - "qualifiedName": "ZohoBooksApi.GetBankAccountRuleDetails", - "fullyQualifiedName": "ZohoBooksApi.GetBankAccountRuleDetails@1.0.0", - "description": "Retrieve details of a specific bank account rule.\n\nCall this tool to get information about a specific rule in a bank account using its rule ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which to retrieve the bank account rule details.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_rule_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank account rule to retrieve its details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_bank_account_rule'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetBankAccountRuleDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bank_account_rule_id": { - "value": "rule_abc123def", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetBankTransactions", - "qualifiedName": "ZohoBooksApi.GetBankTransactions", - "fullyQualifiedName": "ZohoBooksApi.GetBankTransactions@1.0.0", - "description": "Retrieve all transaction details for a bank account.\n\nUse this tool to obtain detailed information about all transactions involved in a specific bank account. It is helpful for financial analysis and record-keeping.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "A unique ID representing the organization for which transactions are being queried. This is required to specify the context of the request.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_id", - "type": "integer", - "required": false, - "description": "Unique identifier for the bank account to retrieve transactions for.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_type_filter", - "type": "string", - "required": false, - "description": "Specify the type of transactions to retrieve. Expected as a string, e.g., 'expense', 'income'.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_date_range", - "type": "string", - "required": false, - "description": "Specify the start and end date for the transaction date range. Use 'date_start' for the start and 'date_end' for the end date.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_amount_range", - "type": "number", - "required": false, - "description": "Set a range of transaction amounts to filter transactions. Use two numbers: start amount, end amount.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_status_list_view", - "type": "string", - "required": false, - "description": "Filter transactions by status: all, uncategorized, manually_added, matched, excluded, categorized.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_reference_number", - "type": "string", - "required": false, - "description": "Search for a transaction using its reference number for more precise results.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_filter_type", - "type": "string", - "required": false, - "description": "Filter transactions by type: Status.All, Status.Uncategorized, Status.Categorized, Status.ManuallyAdded, Status.Excluded, Status.Matched.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_transactions_by", - "type": "string", - "required": false, - "description": "Specify how to sort transactions. Allowed value: 'date'.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_status_filter", - "type": "string", - "required": false, - "description": "Filter transactions by status: All, uncategorized, manually_added, matched, excluded, categorized.", - "enum": null, - "inferrable": true - }, - { - "name": "search_transactions_by_text", - "type": "string", - "required": false, - "description": "Search transactions using contact name or transaction description.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_page_number", - "type": "integer", - "required": false, - "description": "Page number of transactions to fetch, with a default value of 1. Used for pagination.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of transaction records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_bank_transactions'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetBankTransactions", - "parameters": { - "organization_id": { - "value": "687394839", - "type": "string", - "required": true - }, - "bank_account_id": { - "value": 123456789, - "type": "integer", - "required": false - }, - "transaction_type_filter": { - "value": "expense", - "type": "string", - "required": false - }, - "transaction_date_range": { - "value": "date_start=2025-01-01&date_end=2025-01-31", - "type": "string", - "required": false - }, - "transaction_amount_range": { - "value": "100.00,1000.00", - "type": "integer", - "required": false - }, - "transaction_status_list_view": { - "value": "categorized", - "type": "string", - "required": false - }, - "transaction_reference_number": { - "value": "REF-20250115-789", - "type": "string", - "required": false - }, - "transaction_filter_type": { - "value": "Status.Matched", - "type": "string", - "required": false - }, - "sort_transactions_by": { - "value": "date", - "type": "string", - "required": false - }, - "transaction_status_filter": { - "value": "matched", - "type": "string", - "required": false - }, - "search_transactions_by_text": { - "value": "Acme Supplies", - "type": "string", - "required": false - }, - "transaction_page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 200, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetBaseCurrencyAdjustmentDetails", - "qualifiedName": "ZohoBooksApi.GetBaseCurrencyAdjustmentDetails", - "fullyQualifiedName": "ZohoBooksApi.GetBaseCurrencyAdjustmentDetails@1.0.0", - "description": "Retrieve base currency adjustment details by ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose currency adjustment details are being retrieved.", - "enum": null, - "inferrable": true - }, - { - "name": "base_currency_adjustment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the base currency adjustment to retrieve its details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_base_currency_adjustment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetBaseCurrencyAdjustmentDetails", - "parameters": { - "organization_id": { - "value": "100000000000123", - "type": "string", - "required": true - }, - "base_currency_adjustment_identifier": { - "value": "BCA-2026-00042", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetBillHistory", - "qualifiedName": "ZohoBooksApi.GetBillHistory", - "fullyQualifiedName": "ZohoBooksApi.GetBillHistory@1.0.0", - "description": "Retrieve the complete history and comments for a bill.\n\nThis tool retrieves the entire history and comments associated with a specified bill. It is useful for reviewing past interactions and notes on a bill.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "String identifier for the organization whose bill history and comments you wish to retrieve.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the bill to retrieve its history and comments.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_bill_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetBillHistory", - "parameters": { - "organization_id": { - "value": "org_123456789", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-2026-000321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetBillPaymentsList", - "qualifiedName": "ZohoBooksApi.GetBillPaymentsList", - "fullyQualifiedName": "ZohoBooksApi.GetBillPaymentsList@1.0.0", - "description": "Retrieve the list of payments made for a specific bill.\n\nThis tool provides a list of all payments made for a specified bill using the bill ID. It should be called when you need to view detailed payment history for a particular bill.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization for which to retrieve bill payments.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the specific bill to retrieve payment details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_bill_payments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetBillPaymentsList", - "parameters": { - "organization_id": { - "value": "7435123456", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetContactActivityRecentComments", - "qualifiedName": "ZohoBooksApi.GetContactActivityRecentComments", - "fullyQualifiedName": "ZohoBooksApi.GetContactActivityRecentComments@1.0.0", - "description": "Retrieve recent comments for a specific contact.\n\nUse this tool to get a list of recent comments or activities associated with a specific contact in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose contact comments you want to retrieve.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the contact to retrieve recent comments.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "Page number to be fetched. Defaults to 1 if not specified.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to be fetched per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_contact_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetContactActivityRecentComments", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "contact_unique_identifier": { - "value": "contact_987654321", - "type": "string", - "required": true - }, - "page_number_to_fetch": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetContactAddresses", - "qualifiedName": "ZohoBooksApi.GetContactAddresses", - "fullyQualifiedName": "ZohoBooksApi.GetContactAddresses@1.0.0", - "description": "Retrieve addresses for a specified contact.\n\nGet the shipping, billing, and additional addresses of a specific contact in Zoho Books. This tool is useful for retrieving address details when needing to display or utilize contact information in applications.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization in Zoho Books. This ID is necessary to fetch the contact's addresses within the specified organization.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_id", - "type": "string", - "required": true, - "description": "Unique identifier of the contact in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_contact_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetContactAddresses", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "contact_id": { - "value": "987654321098765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetContactPersonDetails", - "qualifiedName": "ZohoBooksApi.GetContactPersonDetails", - "fullyQualifiedName": "ZohoBooksApi.GetContactPersonDetails@1.0.0", - "description": "Retrieve details of a specific contact person.\n\nUse this tool to get detailed information about a specific contact person associated with a given contact in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. This identifies which organization the contact person belongs to.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the contact in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_person_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the contact person in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_contact_person'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetContactPersonDetails", - "parameters": { - "organization_id": { - "value": "6000123456789012345", - "type": "string", - "required": true - }, - "contact_identifier": { - "value": "C1234567890", - "type": "string", - "required": true - }, - "contact_person_identifier": { - "value": "CP9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetContactRefundHistory", - "qualifiedName": "ZohoBooksApi.GetContactRefundHistory", - "fullyQualifiedName": "ZohoBooksApi.GetContactRefundHistory@1.0.0", - "description": "Retrieve the refund history of a specific contact.\n\nUse this tool to get a list of all refunds associated with a particular contact in Zoho Books. This can be useful for financial reconciliations or customer service inquiries related to refund transactions.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. Required to access the specific account data.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the contact in Zoho Books for refund history retrieval.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "The page number to fetch for the contact's refund history. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specifies how many refund records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_contact_refunds'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetContactRefundHistory", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "contact_unique_identifier": { - "value": "543210000000123456", - "type": "string", - "required": true - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetContactStatementMailContent", - "qualifiedName": "ZohoBooksApi.GetContactStatementMailContent", - "fullyQualifiedName": "ZohoBooksApi.GetContactStatementMailContent@1.0.0", - "description": "Retrieve the statement email content for a contact.\n\nUse this tool to get the content of a statement email for a specified contact in Zoho Books.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization to retrieve statement mail content for the contact.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the contact to retrieve the statement mail content.", - "enum": null, - "inferrable": true - }, - { - "name": "statement_start_date", - "type": "string", - "required": false, - "description": "Start date for the statement. Use format [yyyy-mm-dd]. Defaults to current month if not provided.", - "enum": null, - "inferrable": true - }, - { - "name": "statement_end_date", - "type": "string", - "required": false, - "description": "End date for the statement in the format [yyyy-mm-dd].", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_contact_statement_mail'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetContactStatementMailContent", - "parameters": { - "organization_identifier": { - "value": "837261549", - "type": "string", - "required": true - }, - "contact_unique_identifier": { - "value": "c4f2a9e8-5b7d-4a12-9f3c-2e6b9a8d7f1c", - "type": "string", - "required": true - }, - "statement_start_date": { - "value": "2026-01-01", - "type": "string", - "required": false - }, - "statement_end_date": { - "value": "2026-01-31", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCreditNoteComments", - "qualifiedName": "ZohoBooksApi.GetCreditNoteComments", - "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteComments@1.0.0", - "description": "Retrieve comments and history of a credit note.\n\nUse this tool to obtain the history and comments associated with a specific credit note by providing the credit note's ID. This can be useful for tracking changes or feedback related to the credit transaction.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "Provide the organization's unique ID to retrieve credit note comments.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Provide the unique identifier of the credit note to retrieve its comments and history.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_credit_note_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCreditNoteComments", - "parameters": { - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "CN-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCreditNoteDetails", - "qualifiedName": "ZohoBooksApi.GetCreditNoteDetails", - "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteDetails@1.0.0", - "description": "Retrieve details of a specific credit note using its ID.\n\nCall this tool to obtain detailed information about an existing credit note by providing its unique identifier. Useful for tracking, reviewing, or managing credit notes within Zoho Books.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "The unique identifier of the credit note to retrieve details for. This ID is essential for accessing the specific credit note information.", - "enum": null, - "inferrable": true - }, - { - "name": "response_format", - "type": "string", - "required": false, - "description": "Specify the format of the credit note details: json, pdf, or html. Default is html.", - "enum": null, - "inferrable": true - }, - { - "name": "export_with_default_print_option", - "type": "boolean", - "required": false, - "description": "Specify whether to export the credit note PDF with the default print option. Use 'true' or 'false'.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_credit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCreditNoteDetails", - "parameters": { - "organization_identifier": { - "value": "726549000000123456", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "726549000000654321", - "type": "string", - "required": true - }, - "response_format": { - "value": "json", - "type": "string", - "required": false - }, - "export_with_default_print_option": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCreditNoteEmailContent", - "qualifiedName": "ZohoBooksApi.GetCreditNoteEmailContent", - "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteEmailContent@1.0.0", - "description": "Retrieve email content for a given credit note.\n\nUse this tool to get the email content associated with a specified credit note by its ID.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization to retrieve the credit note email content for. This is a required field.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to retrieve its email content.", - "enum": null, - "inferrable": true - }, - { - "name": "specified_email_template_id", - "type": "string", - "required": false, - "description": "ID of a specific email template. If not provided, defaults to customer's or the default template.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_credit_note_email'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCreditNoteEmailContent", - "parameters": { - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "CN-2026-0001", - "type": "string", - "required": true - }, - "specified_email_template_id": { - "value": "TPL-15", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCreditNotePdfTemplates", - "qualifiedName": "ZohoBooksApi.GetCreditNotePdfTemplates", - "fullyQualifiedName": "ZohoBooksApi.GetCreditNotePdfTemplates@1.0.0", - "description": "Retrieve all credit note PDF templates from Zoho Books.\n\nUse this tool to obtain a list of all available credit note PDF templates from Zoho Books. It's useful when you need to browse or select a specific credit note template for use.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. Required to fetch credit note templates.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_credit_note_templates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCreditNotePdfTemplates", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCreditNoteRefund", - "qualifiedName": "ZohoBooksApi.GetCreditNoteRefund", - "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteRefund@1.0.0", - "description": "Retrieve refund details for a specific credit note.\n\nUse this tool to obtain information about the refund of a specific credit note by providing the credit note ID and refund ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization for which the credit note refund is being retrieved. Use a valid organization identifier.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to retrieve refund details for.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_refund_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note refund to retrieve specific refund details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_credit_note_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCreditNoteRefund", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "CN-00012", - "type": "string", - "required": true - }, - "credit_note_refund_id": { - "value": "RFD-000987", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCurrencyDetails", - "qualifiedName": "ZohoBooksApi.GetCurrencyDetails", - "fullyQualifiedName": "ZohoBooksApi.GetCurrencyDetails@1.0.0", - "description": "Get the details of a specific currency.\n\nUse this tool to obtain detailed information about a particular currency by its ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the currency details are requested.", - "enum": null, - "inferrable": true - }, - { - "name": "currency_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the currency to fetch details for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_currency'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCurrencyDetails", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "currency_identifier": { - "value": "USD", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCurrencyExchangeRate", - "qualifiedName": "ZohoBooksApi.GetCurrencyExchangeRate", - "fullyQualifiedName": "ZohoBooksApi.GetCurrencyExchangeRate@1.0.0", - "description": "Retrieve details of a specific currency exchange rate.\n\nThis tool is used to get details of an exchange rate associated with a specified currency. It should be called when you need information about a specific exchange rate for financial or currency conversion purposes.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which you want to retrieve exchange rate details.", - "enum": null, - "inferrable": true - }, - { - "name": "currency_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the currency. Use to specify the currency for the exchange rate details.", - "enum": null, - "inferrable": true - }, - { - "name": "exchange_rate_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier of the exchange rate to retrieve details for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_exchange_rate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCurrencyExchangeRate", - "parameters": { - "organization_id": { - "value": "org_1234567890", - "type": "string", - "required": true - }, - "currency_unique_identifier": { - "value": "USD", - "type": "string", - "required": true - }, - "exchange_rate_unique_id": { - "value": "ex_5f1d3a9b", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCurrentRunningTimer", - "qualifiedName": "ZohoBooksApi.GetCurrentRunningTimer", - "fullyQualifiedName": "ZohoBooksApi.GetCurrentRunningTimer@1.0.0", - "description": "Retrieve the current running timer for a user.\n\nUse this tool to get information about the current running timer for personal time tracking in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization whose running timer is being retrieved.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_running_timer'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCurrentRunningTimer", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCurrentUserDetails", - "qualifiedName": "ZohoBooksApi.GetCurrentUserDetails", - "fullyQualifiedName": "ZohoBooksApi.GetCurrentUserDetails@1.0.0", - "description": "Retrieve details of the current user from Zoho Books.\n\nUse this tool to get information about the currently authenticated user in Zoho Books. Ideal for scenarios where user-specific data is needed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books to retrieve the current user details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_current_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCurrentUserDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCustomerDebitNote", - "qualifiedName": "ZohoBooksApi.GetCustomerDebitNote", - "fullyQualifiedName": "ZohoBooksApi.GetCustomerDebitNote@1.0.0", - "description": "Retrieve the details of a customer debit note from Zoho Books.\n\nThis tool is used to get detailed information about a specific customer debit note by its ID from Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Organization ID for the request. This ID is required to specify the organization from which to retrieve the debit note.", - "enum": null, - "inferrable": true - }, - { - "name": "debit_note_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier for the specific debit note to retrieve details.", - "enum": null, - "inferrable": true - }, - { - "name": "response_format", - "type": "string", - "required": false, - "description": "Format of the debit note details. Options are json, pdf, or html. Default is json.", - "enum": null, - "inferrable": true - }, - { - "name": "print_pdf", - "type": "boolean", - "required": false, - "description": "If true, print the exported PDF version of the debit note; otherwise, do not print.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_customer_debit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCustomerDebitNote", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "debit_note_unique_id": { - "value": "DNB-00012345", - "type": "string", - "required": true - }, - "response_format": { - "value": "pdf", - "type": "string", - "required": false - }, - "print_pdf": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCustomerPaymentDetails", - "qualifiedName": "ZohoBooksApi.GetCustomerPaymentDetails", - "fullyQualifiedName": "ZohoBooksApi.GetCustomerPaymentDetails@1.0.0", - "description": "Retrieve details of a specific customer payment.\n\nUse this tool to obtain information about a specific customer payment by providing the payment ID. Ideal for retrieving payment history or verifying payment details.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the payment details are requested.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_identifier", - "type": "string", - "required": true, - "description": "The unique identifier of the payment to retrieve details for.", - "enum": null, - "inferrable": true - }, - { - "name": "response_format", - "type": "string", - "required": false, - "description": "Format of the response. Allowed values: 'json' or 'pdf'. Default is 'json'.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_customer_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCustomerPaymentDetails", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "payment_identifier": { - "value": "9876543210", - "type": "string", - "required": true - }, - "response_format": { - "value": "json", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCustomerPaymentRefundDetails", - "qualifiedName": "ZohoBooksApi.GetCustomerPaymentRefundDetails", - "fullyQualifiedName": "ZohoBooksApi.GetCustomerPaymentRefundDetails@1.0.0", - "description": "Obtain details of a specific customer payment refund.\n\nUse this tool to get detailed information about a particular refund related to a customer's payment.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization. This is required to specify which organization's data to access.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_payment_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier of the customer payment to retrieve refund details.", - "enum": null, - "inferrable": true - }, - { - "name": "refund_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the refund for the specified customer payment.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_customer_payment_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCustomerPaymentRefundDetails", - "parameters": { - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": true - }, - "customer_payment_unique_id": { - "value": "cp_5f3a9b2d", - "type": "string", - "required": true - }, - "refund_identifier": { - "value": "rf_9a1c7e4b", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetCustomModuleRecordDetails", - "qualifiedName": "ZohoBooksApi.GetCustomModuleRecordDetails", - "fullyQualifiedName": "ZohoBooksApi.GetCustomModuleRecordDetails@1.0.0", - "description": "Fetch details of an organization in Zoho Books.\n\nUse this tool to retrieve details of a specific organization by providing the module name and module ID in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "module_name", - "type": "string", - "required": true, - "description": "The name of the module associated with the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_module_id", - "type": "integer", - "required": true, - "description": "The ID for the specific custom module in Zoho Books that you want to retrieve details for. This value should be an integer.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.custommodules.ALL" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_custom_module_record_details'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetCustomModuleRecordDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "module_name": { - "value": "CustomModuleContacts", - "type": "string", - "required": true - }, - "custom_module_id": { - "value": 1012345, - "type": "integer", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetEstimateComments", - "qualifiedName": "ZohoBooksApi.GetEstimateComments", - "fullyQualifiedName": "ZohoBooksApi.GetEstimateComments@1.0.0", - "description": "Get the complete history and comments of an estimate.\n\nThis tool retrieves all comments and historical data associated with a specific estimate. Use it to track changes or discussions about an estimate.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization whose estimate comments are needed.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the estimate to retrieve its history and comments.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_estimate_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetEstimateComments", - "parameters": { - "organization_id": { - "value": "675432100000012345", - "type": "string", - "required": true - }, - "estimate_identifier": { - "value": "EST-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetEstimateEmailContent", - "qualifiedName": "ZohoBooksApi.GetEstimateEmailContent", - "fullyQualifiedName": "ZohoBooksApi.GetEstimateEmailContent@1.0.0", - "description": "Retrieve the email content for a specific estimate.\n\nUse this tool to get the email content associated with a specific estimate by providing the estimate ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which you want to retrieve the estimate email content.", - "enum": null, - "inferrable": true - }, - { - "name": "email_template_id", - "type": "string", - "required": true, - "description": "Optional. Specify a template ID to retrieve the email content based on a specific template. If not provided, defaults to the customer's associated or default template.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_id", - "type": "string", - "required": true, - "description": "Unique identifier for the estimate to retrieve its email content.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_estimate_email'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetEstimateEmailContent", - "parameters": { - "organization_id": { - "value": "6000000000001234567", - "type": "string", - "required": true - }, - "email_template_id": { - "value": "1000000000001234567", - "type": "string", - "required": true - }, - "estimate_id": { - "value": "5000000000007654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetEstimateTemplates", - "qualifiedName": "ZohoBooksApi.GetEstimateTemplates", - "fullyQualifiedName": "ZohoBooksApi.GetEstimateTemplates@1.0.0", - "description": "Retrieve all estimate PDF templates.\n\nThis tool retrieves a list of all available PDF templates used for estimates. It should be called when users need to view or select templates for estimate documents.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to fetch estimate templates.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_estimate_templates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetEstimateTemplates", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetExpenseComments", - "qualifiedName": "ZohoBooksApi.GetExpenseComments", - "fullyQualifiedName": "ZohoBooksApi.GetExpenseComments@1.0.0", - "description": "Retrieve comments and history for a specific expense.\n\nThis tool should be called to get the discussion and history associated with an expense, specified by its ID, in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization in Zoho Books required to fetch the expense comments.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier for the expense to retrieve its comments and history in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_expense_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetExpenseComments", - "parameters": { - "organization_id": { - "value": "123456789012", - "type": "string", - "required": true - }, - "expense_unique_id": { - "value": "EXP-000123456", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetExpenseDetails", - "qualifiedName": "ZohoBooksApi.GetExpenseDetails", - "fullyQualifiedName": "ZohoBooksApi.GetExpenseDetails@1.0.0", - "description": "Retrieve details of a specific expense by ID.\n\nUse this tool to get detailed information about an expense by providing the expense ID. Ideal for financial reviews or tracking specific expenses.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "String representing the ID of the organization for which the expense details are requested.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the expense to retrieve its details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetExpenseDetails", - "parameters": { - "organization_identifier": { - "value": "60012345678", - "type": "string", - "required": true - }, - "expense_identifier": { - "value": "EXP-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetFixedAssetDetails", - "qualifiedName": "ZohoBooksApi.GetFixedAssetDetails", - "fullyQualifiedName": "ZohoBooksApi.GetFixedAssetDetails@1.0.0", - "description": "Retrieve details of a fixed asset using its ID.\n\nThis tool is used to obtain detailed information about a fixed asset by providing its unique ID. It should be called when you need specific details about an asset in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the ID of the organization for which you want to retrieve the asset details.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the fixed asset to retrieve its details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_fixed_asset'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetFixedAssetDetails", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "fixed_asset_identifier": { - "value": "FA-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetFixedAssetsList", - "qualifiedName": "ZohoBooksApi.GetFixedAssetsList", - "fullyQualifiedName": "ZohoBooksApi.GetFixedAssetsList@1.0.0", - "description": "Retrieve a list of fixed assets from Zoho Books.\n\nUse this tool to obtain a detailed list of fixed assets stored in Zoho Books. Ideal for managing and reviewing asset inventories.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which to list fixed assets.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_fixed_asset_status", - "type": "string", - "required": false, - "description": "Filter the fixed asset list by status. Valid inputs: Status.All, Status.Active, Status.Cancel, Status.FullyDepreciated, Status.WriteOff, Status.Sold, Status.Draft.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Specify the column to sort the fixed asset list. Choose from: asset_name, asset_number, asset_cost, created_time, current_asset_value.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_order", - "type": "string", - "required": false, - "description": "Sort the fixed asset list in ascending or descending order. Use 'A' for ascending and 'D' for descending.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "The page number to fetch from the fixed asset list. Defaults to 1 if not specified.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of fixed asset records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_fixed_assets'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetFixedAssetsList", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "filter_fixed_asset_status": { - "value": "Status.Active", - "type": "string", - "required": false - }, - "sort_by_column": { - "value": "asset_name", - "type": "string", - "required": false - }, - "sort_order": { - "value": "A", - "type": "string", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetFixedAssetTypeList", - "qualifiedName": "ZohoBooksApi.GetFixedAssetTypeList", - "fullyQualifiedName": "ZohoBooksApi.GetFixedAssetTypeList@1.0.0", - "description": "Retrieve a list of fixed asset types.\n\nCall this tool to obtain a list of all available fixed asset types in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique identifier for the organization to retrieve asset types for.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "The page number to retrieve for the list of fixed asset types. Defaults to 1 if not specified.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_fixed_asset_type_list'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetFixedAssetTypeList", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "page_number_to_fetch": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetInvoiceAttachment", - "qualifiedName": "ZohoBooksApi.GetInvoiceAttachment", - "fullyQualifiedName": "ZohoBooksApi.GetInvoiceAttachment@1.0.0", - "description": "Fetch attachment file from a specified invoice.\n\nCall this tool to retrieve the file attached to a specific invoice using its ID. Useful for accessing documents associated with invoices.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization to retrieve the invoice attachment for.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to fetch the attachment from.", - "enum": null, - "inferrable": true - }, - { - "name": "get_thumbnail", - "type": "boolean", - "required": false, - "description": "Set to true to get the thumbnail of the invoice attachment.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_invoice_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetInvoiceAttachment", - "parameters": { - "organization_id": { - "value": "6001000000001234567", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-001", - "type": "string", - "required": true - }, - "get_thumbnail": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetInvoiceComments", - "qualifiedName": "ZohoBooksApi.GetInvoiceComments", - "fullyQualifiedName": "ZohoBooksApi.GetInvoiceComments@1.0.0", - "description": "Get comments and history of an invoice.\n\nUse this tool to retrieve the full history and all comments associated with a specific invoice.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the invoice comments and history are being retrieved. Must be a unique string identifier.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the specific invoice to retrieve comments and history.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_invoice_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetInvoiceComments", - "parameters": { - "organization_id": { - "value": "org_987654321", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-000123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetInvoiceCreditsApplied", - "qualifiedName": "ZohoBooksApi.GetInvoiceCreditsApplied", - "fullyQualifiedName": "ZohoBooksApi.GetInvoiceCreditsApplied@1.0.0", - "description": "Retrieve the credits applied to a specific invoice.\n\nUse this tool to obtain a list of all credits that have been applied to a particular invoice. It should be called when detailed invoice credit information is needed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to retrieve credits applied to an invoice.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice for which credits are applied.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_invoice_credits_applied'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetInvoiceCreditsApplied", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetInvoiceDetails", - "qualifiedName": "ZohoBooksApi.GetInvoiceDetails", - "fullyQualifiedName": "ZohoBooksApi.GetInvoiceDetails@1.0.0", - "description": "Retrieve details of a specific invoice by ID.\n\nThis tool is used to get detailed information about a specific invoice using its ID. It can be called when needing to verify invoice details, check status, or confirm amounts.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the invoice details are requested.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice. Used to specify which invoice details to retrieve.", - "enum": null, - "inferrable": true - }, - { - "name": "format_type", - "type": "string", - "required": false, - "description": "Specify the format for invoice details: json, pdf, or html. Default is json.", - "enum": null, - "inferrable": true - }, - { - "name": "print_pdf", - "type": "boolean", - "required": false, - "description": "Boolean value indicating whether to print the exported PDF.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetInvoiceDetails", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - }, - "format_type": { - "value": "pdf", - "type": "string", - "required": false - }, - "print_pdf": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetInvoiceEmailContent", - "qualifiedName": "ZohoBooksApi.GetInvoiceEmailContent", - "fullyQualifiedName": "ZohoBooksApi.GetInvoiceEmailContent@1.0.0", - "description": "Retrieve the email content for a specific invoice.\n\nUse this tool to get the formatted email content of a particular invoice by specifying the invoice ID. Ideal for scenarios where you need to access or send invoice details via email.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to retrieve invoice email content for the specified organization.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to retrieve its email content.", - "enum": null, - "inferrable": true - }, - { - "name": "email_template_id", - "type": "string", - "required": false, - "description": "Optional. Specify a template ID to get the email content based on a specific template. Defaults to customer-associated or default template if not provided.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_invoice_email'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetInvoiceEmailContent", - "parameters": { - "organization_identifier": { - "value": "60000000001", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "email_template_id": { - "value": "2000000000001", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetInvoiceList", - "qualifiedName": "ZohoBooksApi.GetInvoiceList", - "fullyQualifiedName": "ZohoBooksApi.GetInvoiceList@1.0.0", - "description": "Retrieve and organize a list of invoices from Zoho Books.\n\nThis tool fetches a list of invoices using Zoho Books' API with options for pagination, filtering, searching, and sorting. Useful for finding specific invoices or browsing records systematically.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization for which invoices are being queried. This ID is crucial for accessing the correct set of invoices within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_invoice_number", - "type": "string", - "required": false, - "description": "Search for invoices using their unique invoice number. Supports 'startswith' and 'contains' variants. Max length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_invoice_by_item_name", - "type": "string", - "required": false, - "description": "Filters invoices by product or service name in line items. Supports 'item_name_startswith' and 'item_name_contains'. Max length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_item_id", - "type": "string", - "required": false, - "description": "Search invoices by item ID. Use the unique identifier of a product or service to filter invoices that include specific line items.", - "enum": null, - "inferrable": true - }, - { - "name": "item_description_filter", - "type": "string", - "required": false, - "description": "Filter invoices by item description using keywords. Supports 'startswith' and 'contains' variants. Max 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_reference_number", - "type": "string", - "required": false, - "description": "Search invoices by reference number, such as purchase order or project codes, to find invoices associated with specific projects or transactions.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_customer_name", - "type": "string", - "required": false, - "description": "Search for invoices using the customer's name, with a maximum length of 100 characters, to generate customer-specific reports or find all invoices for a customer.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_id", - "type": "string", - "required": false, - "description": "ID of the recurring invoice from which the invoice is created. Use to filter invoices tied to specific recurring billing cycles.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_email_filter", - "type": "string", - "required": false, - "description": "Filter invoices by the customer's email address. Maximum length is 100 characters. Ideal for finding specific customer invoices or customer segment analysis.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_total_amount", - "type": "string", - "required": false, - "description": "Search and filter invoices based on the final total amount, including taxes, discounts, and adjustments. Useful for finding invoices within specific price ranges or identifying high-value transactions.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_outstanding_balance", - "type": "string", - "required": false, - "description": "Filter invoices by outstanding balance to find overdue invoices, track receivables, or generate aging reports.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_custom_field", - "type": "string", - "required": false, - "description": "Search invoices using custom fields. Supports 'custom_field_startswith' and 'custom_field_contains' for partial matching.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_date_filter", - "type": "string", - "required": false, - "description": "Filter invoices by invoice date using yyyy-mm-dd format. Supports variants like date_start, date_end, date_before, and date_after to find invoices within specific date ranges.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_due_date_filter", - "type": "string", - "required": false, - "description": "Filter invoices by due date using yyyy-mm-dd format. Supports start, end, before, and after variants for flexible searching.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_creation_date", - "type": "string", - "required": false, - "description": "Filter invoices by creation date with yyyy-mm-dd format. Supports variants: start, end, before, and after.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_last_modified_time", - "type": "string", - "required": false, - "description": "Filters invoices modified after a specific timestamp in YYYY-MM-DDTHH:MM:SS-UTC format. Useful for identifying recently updated invoices.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_status", - "type": "string", - "required": false, - "description": "Filter invoices by their current status (e.g., sent, draft, overdue, etc.).", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_customer_id", - "type": "string", - "required": false, - "description": "Filters invoices using the unique customer ID. Use the ID from the Contacts API to find all invoices for a specific customer.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_invoices_by_criteria", - "type": "string", - "required": false, - "description": "Filter invoices by status (e.g., Status.Sent, Status.Paid) or payment expected date using Date.PaymentExpectedDate.", - "enum": null, - "inferrable": true - }, - { - "name": "general_search_text", - "type": "string", - "required": false, - "description": "General search for invoices by invoice number, purchase order, or customer name. Accepts up to 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Specify the column to sort invoices by. Options: customer_name, invoice_number, date, due_date, total, balance, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_crm_potential_id", - "type": "integer", - "required": false, - "description": "Find invoices linked to a specific CRM deal or opportunity using its potential ID from Zoho CRM.", - "enum": null, - "inferrable": true - }, - { - "name": "response_format_type", - "type": "integer", - "required": false, - "description": "Specifies the desired response format: 0 for all invoices, 1 for all invoices with counts and totals, 2 for count only, 3 for count and totals, 4 for invoices and totals.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Page number to fetch from paginated results. Default is 1. Use with 'per_page' for navigating large data sets.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Default is 200, maximum is 200. Use to control result size for performance optimization.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_invoices'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetInvoiceList", - "parameters": { - "organization_id": { - "value": "669975321", - "type": "string", - "required": true - }, - "search_by_invoice_number": { - "value": "INV-2026-001", - "type": "string", - "required": false - }, - "search_invoice_by_item_name": { - "value": "item_name_contains:Laptop", - "type": "string", - "required": false - }, - "search_by_item_id": { - "value": "item_12345", - "type": "string", - "required": false - }, - "item_description_filter": { - "value": "item_description_contains:Extended warranty", - "type": "string", - "required": false - }, - "search_reference_number": { - "value": "PO-7890", - "type": "string", - "required": false - }, - "search_by_customer_name": { - "value": "Acme Corporation", - "type": "string", - "required": false - }, - "recurring_invoice_id": { - "value": "recurring_987654321", - "type": "string", - "required": false - }, - "customer_email_filter": { - "value": "billing@acme-corp.com", - "type": "string", - "required": false - }, - "search_by_total_amount": { - "value": "1000-5000", - "type": "string", - "required": false - }, - "search_by_outstanding_balance": { - "value": ">0", - "type": "string", - "required": false - }, - "search_by_custom_field": { - "value": "custom_field_contains:Project X", - "type": "string", - "required": false - }, - "invoice_date_filter": { - "value": "date_start:2026-01-01;date_end:2026-01-31", - "type": "string", - "required": false - }, - "invoice_due_date_filter": { - "value": "date_before:2026-02-28", - "type": "string", - "required": false - }, - "filter_by_creation_date": { - "value": "start:2025-12-01;end:2026-01-15", - "type": "string", - "required": false - }, - "filter_by_last_modified_time": { - "value": "2026-02-15T08:30:00Z", - "type": "string", - "required": false - }, - "invoice_status": { - "value": "overdue", - "type": "string", - "required": false - }, - "search_by_customer_id": { - "value": "543210987", - "type": "string", - "required": false - }, - "filter_invoices_by_criteria": { - "value": "Status.Paid", - "type": "string", - "required": false - }, - "general_search_text": { - "value": "Acme", - "type": "string", - "required": false - }, - "sort_by_column": { - "value": "due_date", - "type": "string", - "required": false - }, - "search_by_crm_potential_id": { - "value": 11223344, - "type": "integer", - "required": false - }, - "response_format_type": { - "value": 1, - "type": "integer", - "required": false - }, - "page_number": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetInvoicePayments", - "qualifiedName": "ZohoBooksApi.GetInvoicePayments", - "fullyQualifiedName": "ZohoBooksApi.GetInvoicePayments@1.0.0", - "description": "Retrieve a list of payments for a specific invoice.\n\nUse this tool to get detailed information about payments made for a specific invoice by providing the invoice ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to retrieve invoice payments for.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to retrieve its payment details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_invoice_payments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetInvoicePayments", - "parameters": { - "organization_id": { - "value": "60011111111", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetJournalDetails", - "qualifiedName": "ZohoBooksApi.GetJournalDetails", - "fullyQualifiedName": "ZohoBooksApi.GetJournalDetails@1.0.0", - "description": "Retrieve the details of a specific journal entry in Zoho Books.\n\nThis tool retrieves information about a specific journal entry from Zoho Books, using the journal ID. It should be called when details of a journal entry are needed.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books required to retrieve journal details.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_unique_id", - "type": "string", - "required": true, - "description": "The unique identifier for the journal to retrieve its details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_journal'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetJournalDetails", - "parameters": { - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "journal_unique_id": { - "value": "137945000000012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetJournalList", - "qualifiedName": "ZohoBooksApi.GetJournalList", - "fullyQualifiedName": "ZohoBooksApi.GetJournalList@1.0.0", - "description": "Retrieve a list of accounting journals.\n\nUse this tool to get a list of accounting journals. It's useful for accessing journal entries in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to retrieve journals for.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_entry_number", - "type": "string", - "required": false, - "description": "Search journals by journal entry number using exact match or variants like 'entry_number_startswith' and 'entry_number_contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_reference_number", - "type": "string", - "required": false, - "description": "Search journals by reference number. Use 'startswith:' or 'contains:' for filtering options.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_date_search", - "type": "string", - "required": false, - "description": "Specify date criteria to search journals. Use date_start, date_end, date_before, or date_after.", - "enum": null, - "inferrable": true - }, - { - "name": "search_journal_notes", - "type": "string", - "required": false, - "description": "Search journals by their associated notes. Options: 'startswith' or 'contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_last_modified_time", - "type": "string", - "required": false, - "description": "Search for journals using the last modified time as a filter criterion. Provide a valid timestamp to filter entries updated after that time.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_total_filter", - "type": "number", - "required": false, - "description": "Filter journals based on total amount using keys like total_less_than or total_greater_equals.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_customer_id", - "type": "integer", - "required": false, - "description": "Use a specific Customer ID to search for journals in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_id", - "type": "integer", - "required": false, - "description": "Specify the Vendor ID to search journals associated with that vendor.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_journals_by_date", - "type": "string", - "required": false, - "description": "Specify the time period to filter journals by date. Options: JournalDate.All, JournalDate.Today, JournalDate.ThisWeek, JournalDate.ThisMonth, JournalDate.ThisQuarter, JournalDate.ThisYear.", - "enum": null, - "inferrable": true - }, - { - "name": "sorting_column_for_journals", - "type": "string", - "required": false, - "description": "Specify the field to sort journals by. Options: 'journal_date', 'entry_number', 'reference_number', 'total'.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "Page number of the journal list to retrieve. Default value is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of journal records to be fetched per page. Default value is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_journals'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetJournalList", - "parameters": { - "organization_id": { - "value": "9876543210", - "type": "string", - "required": true - }, - "journal_entry_number": { - "value": "entry_number_startswith:JRN-2026", - "type": "string", - "required": false - }, - "search_by_reference_number": { - "value": "contains:REF-2026", - "type": "string", - "required": false - }, - "journal_date_search": { - "value": "date_start:2026-01-01,date_end:2026-01-31", - "type": "string", - "required": false - }, - "search_journal_notes": { - "value": "contains:month end adjustment", - "type": "string", - "required": false - }, - "search_by_last_modified_time": { - "value": "2026-02-15T12:34:56Z", - "type": "string", - "required": false - }, - "journal_total_filter": { - "value": 1500, - "type": "integer", - "required": false - }, - "search_by_customer_id": { - "value": 456789, - "type": "integer", - "required": false - }, - "vendor_id": { - "value": 789012, - "type": "integer", - "required": false - }, - "filter_journals_by_date": { - "value": "JournalDate.ThisMonth", - "type": "string", - "required": false - }, - "sorting_column_for_journals": { - "value": "journal_date", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetLastImportedBankStatement", - "qualifiedName": "ZohoBooksApi.GetLastImportedBankStatement", - "fullyQualifiedName": "ZohoBooksApi.GetLastImportedBankStatement@1.0.0", - "description": "Retrieve the last imported bank statement details for an account.\n\nUse this tool to get information about the most recently imported bank statement for a specified account. It provides insights into the account's latest financial activities.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization used to retrieve the bank statement.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank account for retrieving the last imported statement.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_last_imported_bank_statement'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetLastImportedBankStatement", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "bank_account_id": { - "value": "BA-9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetOpeningBalance", - "qualifiedName": "ZohoBooksApi.GetOpeningBalance", - "fullyQualifiedName": "ZohoBooksApi.GetOpeningBalance@1.0.0", - "description": "Retrieves the opening balance for accounts.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to retrieve the opening balance for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_opening_balance'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetOpeningBalance", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetOrganizationDetails", - "qualifiedName": "ZohoBooksApi.GetOrganizationDetails", - "fullyQualifiedName": "ZohoBooksApi.GetOrganizationDetails@1.0.0", - "description": "Retrieve details of an organization from Zoho Books.\n\nUse this tool to get comprehensive details about a specific organization in Zoho Books by providing the organization ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique identifier for the organization in Zoho Books. Used to retrieve specific organization details.", - "enum": null, - "inferrable": true - }, - { - "name": "org_id", - "type": "string", - "required": true, - "description": "Unique identifier for the specific organization.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_organization'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetOrganizationDetails", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "org_id": { - "value": "987654321098765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetOrganizationUsers", - "qualifiedName": "ZohoBooksApi.GetOrganizationUsers", - "fullyQualifiedName": "ZohoBooksApi.GetOrganizationUsers@1.0.0", - "description": "Retrieve the list of all users in the organization.\n\nUse this tool to get an updated list of all users within the organization. Ideal for tasks needing user information or management.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to retrieve its users. Provide a valid organization ID as a string.", - "enum": null, - "inferrable": true - }, - { - "name": "user_status_filter", - "type": "string", - "required": false, - "description": "Filter users based on their status. Options: Status.All, Status.Active, Status.Inactive, Status.Invited, Status.Deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_users_by_column", - "type": "string", - "required": false, - "description": "Specify the attribute to sort users by. Allowed values are name, email, user_role, and status.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Page number to be retrieved, with default being 1. Specify to navigate through pages.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of user records to retrieve per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_users'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetOrganizationUsers", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "user_status_filter": { - "value": "Status.Active", - "type": "string", - "required": false - }, - "sort_users_by_column": { - "value": "email", - "type": "string", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetPaymentReminderEmailContent", - "qualifiedName": "ZohoBooksApi.GetPaymentReminderEmailContent", - "fullyQualifiedName": "ZohoBooksApi.GetPaymentReminderEmailContent@1.0.0", - "description": "Fetch the email content of a payment reminder for an invoice.\n\nUse this tool to obtain the email content for a payment reminder associated with a specific invoice. Ideal for scenarios where you need to preview or edit reminder emails before sending.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID for the organization within Zoho Books for which the payment reminder email content is being fetched.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the specific invoice to fetch the reminder email content.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_payment_reminder_mail_content_for_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetPaymentReminderEmailContent", - "parameters": { - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetProjectComments", - "qualifiedName": "ZohoBooksApi.GetProjectComments", - "fullyQualifiedName": "ZohoBooksApi.GetProjectComments@1.0.0", - "description": "Retrieve comments for a specified project.\n\nUse this tool to get detailed comments for a specified project by providing the project ID.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization to fetch project comments for.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the project to fetch comments for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_project_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetProjectComments", - "parameters": { - "organization_identifier": { - "value": "org_123456789", - "type": "string", - "required": true - }, - "project_identifier": { - "value": "proj_987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetProjectDetails", - "qualifiedName": "ZohoBooksApi.GetProjectDetails", - "fullyQualifiedName": "ZohoBooksApi.GetProjectDetails@1.0.0", - "description": "Retrieve detailed information of a specific project by ID.\n\nCall this tool to fetch details about a specific project using its ID. Useful for obtaining comprehensive project information.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization to retrieve project details.", - "enum": null, - "inferrable": true - }, - { - "name": "project_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the project to retrieve detailed information.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_project'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetProjectDetails", - "parameters": { - "organization_identifier": { - "value": "60000000000", - "type": "string", - "required": true - }, - "project_unique_identifier": { - "value": "proj_4f7a9b2c", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetProjectTasks", - "qualifiedName": "ZohoBooksApi.GetProjectTasks", - "fullyQualifiedName": "ZohoBooksApi.GetProjectTasks@1.0.0", - "description": "Retrieve a list of tasks for a specified project.\n\nUse this tool to obtain a list of tasks added to a specific project in Zoho Books. It should be called when you need detailed task information for project management or oversight.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. This is required to specify which organization's project tasks to retrieve.", - "enum": null, - "inferrable": true - }, - { - "name": "project_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier for the project to fetch tasks.", - "enum": null, - "inferrable": true - }, - { - "name": "fetch_page_number", - "type": "integer", - "required": false, - "description": "The page number of results to retrieve. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of task records to fetch per page. Defaults to 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_tasks'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetProjectTasks", - "parameters": { - "organization_id": { - "value": "600123456789012345", - "type": "string", - "required": true - }, - "project_unique_id": { - "value": "proj_9a8b7c6d5e4f3g2h", - "type": "string", - "required": true - }, - "fetch_page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetProjectUserDetails", - "qualifiedName": "ZohoBooksApi.GetProjectUserDetails", - "fullyQualifiedName": "ZohoBooksApi.GetProjectUserDetails@1.0.0", - "description": "Fetch details of a user within a project in Zoho Books.\n\nUse this tool to obtain information about a specific user's involvement in a particular project in Zoho Books. It is ideal for checking user roles or assignments within a project.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. This is required to fetch the user details associated with the specified project.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the project in Zoho Books to fetch user details from.", - "enum": null, - "inferrable": true - }, - { - "name": "user_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the user within the project. Required to fetch user-specific details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_project_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetProjectUserDetails", - "parameters": { - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": true - }, - "project_identifier": { - "value": "proj_987654321", - "type": "string", - "required": true - }, - "user_identifier": { - "value": "user_54321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetPurchaseOrderComments", - "qualifiedName": "ZohoBooksApi.GetPurchaseOrderComments", - "fullyQualifiedName": "ZohoBooksApi.GetPurchaseOrderComments@1.0.0", - "description": "Retrieve comments and history of a purchase order.\n\nFetches the complete history and comments of a specified purchase order, useful for tracking and reviewing order details.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization to retrieve purchase order comments for. Required to specify which organization's data to access.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "Unique identifier for the specific purchase order to retrieve comments and history.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_purchase_order_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetPurchaseOrderComments", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "PO-2026-00042", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetPurchaseOrderEmailContent", - "qualifiedName": "ZohoBooksApi.GetPurchaseOrderEmailContent", - "fullyQualifiedName": "ZohoBooksApi.GetPurchaseOrderEmailContent@1.0.0", - "description": "Retrieves the email content of a purchase order.\n\nUse this tool to get the email content related to a specific purchase order by providing its ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization to retrieve the purchase order email content for.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the purchase order to retrieve its email content.", - "enum": null, - "inferrable": true - }, - { - "name": "email_template_id", - "type": "string", - "required": false, - "description": "Get the email content based on a specific email template. Defaults to customer-associated or default template if not provided.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_purchase_order_email'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetPurchaseOrderEmailContent", - "parameters": { - "organization_id": { - "value": "678901234", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "PO-2026-000123", - "type": "string", - "required": true - }, - "email_template_id": { - "value": "ET-4501", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetPurchaseOrderTemplates", - "qualifiedName": "ZohoBooksApi.GetPurchaseOrderTemplates", - "fullyQualifiedName": "ZohoBooksApi.GetPurchaseOrderTemplates@1.0.0", - "description": "Retrieve all purchase order PDF templates from Zoho Books.\n\nThis tool is used to obtain a list of all available purchase order PDF templates in Zoho Books. It should be called when there's a need to view or select from existing purchase order templates.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization for retrieving purchase order templates.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_purchase_order_templates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetPurchaseOrderTemplates", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRecurringBillDetails", - "qualifiedName": "ZohoBooksApi.GetRecurringBillDetails", - "fullyQualifiedName": "ZohoBooksApi.GetRecurringBillDetails@1.0.0", - "description": "Retrieve details of a recurring bill from Zoho Books.\n\nThis tool retrieves comprehensive details of a specified recurring bill using its ID. It should be called when detailed information about a recurring bill is required from Zoho Books.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_bill_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier for the recurring bill in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_recurring_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRecurringBillDetails", - "parameters": { - "organization_identifier": { - "value": "org_987654321", - "type": "string", - "required": true - }, - "recurring_bill_unique_id": { - "value": "recurring_bill_12345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRecurringBillHistory", - "qualifiedName": "ZohoBooksApi.GetRecurringBillHistory", - "fullyQualifiedName": "ZohoBooksApi.GetRecurringBillHistory@1.0.0", - "description": "Get history and comments of a recurring bill.\n\nUse this tool to fetch detailed history and comments related to a specific recurring bill by providing the recurring bill ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which you want to get the recurring bill history.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the specific recurring bill. Required to fetch its history and comments.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_recurring_bill_history'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRecurringBillHistory", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "recurring_bill_identifier": { - "value": "RB-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRecurringExpenseDetails", - "qualifiedName": "ZohoBooksApi.GetRecurringExpenseDetails", - "fullyQualifiedName": "ZohoBooksApi.GetRecurringExpenseDetails@1.0.0", - "description": "Get details of a specific recurring expense in Zoho Books.\n\nUse this tool to retrieve information about a particular recurring expense by providing its ID. Helpful for managing or reviewing ongoing expense details.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the ID of the organization to retrieve its specific recurring expense details from Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_expense_id", - "type": "string", - "required": true, - "description": "Unique identifier for the recurring expense to retrieve its details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_recurring_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRecurringExpenseDetails", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "recurring_expense_id": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRecurringExpenseHistory", - "qualifiedName": "ZohoBooksApi.GetRecurringExpenseHistory", - "fullyQualifiedName": "ZohoBooksApi.GetRecurringExpenseHistory@1.0.0", - "description": "Get history and comments of a recurring expense.\n\nUse this tool to retrieve the history and comments associated with a specific recurring expense in Zoho Books. Call this tool when you need detailed information about past actions and notes on a recurring expense item.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the recurring expense history is requested.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_expense_id", - "type": "string", - "required": true, - "description": "Unique identifier for the specific recurring expense to retrieve history and comments.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_recurring_expense_history'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRecurringExpenseHistory", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "recurring_expense_id": { - "value": "987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRecurringInvoiceDetails", - "qualifiedName": "ZohoBooksApi.GetRecurringInvoiceDetails", - "fullyQualifiedName": "ZohoBooksApi.GetRecurringInvoiceDetails@1.0.0", - "description": "Retrieve details of a specific recurring invoice.\n\nUse this tool to access detailed information about a recurring invoice using its ID. It's useful for financial tracking and management purposes.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to access organization-specific data.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the recurring invoice to retrieve its details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_recurring_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRecurringInvoiceDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "recurring_invoice_identifier": { - "value": "RINV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRecurringInvoiceHistory", - "qualifiedName": "ZohoBooksApi.GetRecurringInvoiceHistory", - "fullyQualifiedName": "ZohoBooksApi.GetRecurringInvoiceHistory@1.0.0", - "description": "Get the complete history and comments of a recurring invoice.\n\nUse this tool to retrieve detailed history and comment logs for a specific recurring invoice. Ideal for reviewing past transactions and communication related to an invoice.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization. Required to access invoice history.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier for the specific recurring invoice to retrieve its history and comments.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_recurring_invoice_history'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRecurringInvoiceHistory", - "parameters": { - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": true - }, - "recurring_invoice_id": { - "value": "RINV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRetainerInvoiceAttachment", - "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceAttachment", - "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceAttachment@1.0.0", - "description": "Retrieve the file attached to a retainer invoice.\n\nUse this tool to get the file that has been attached to a specific retainer invoice. It is helpful when you need to view or download the attached document related to the invoice.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose invoice attachment you want to retrieve.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice for which the attachment is to be retrieved.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_retainer_invoice_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRetainerInvoiceAttachment", - "parameters": { - "organization_id": { - "value": "60000000001", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "70000000001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRetainerInvoiceDetails", - "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceDetails", - "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceDetails@1.0.0", - "description": "Retrieve details of a specific retainer invoice.\n\nUse this tool to obtain details about a retainer invoice by specifying the invoice ID. Ideal for checking invoice status, amount, and related information.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization to retrieve the retainer invoice for.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice to retrieve details for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_retainer_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRetainerInvoiceDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRetainerInvoiceHistory", - "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceHistory", - "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceHistory@1.0.0", - "description": "Get the history and comments of a retainer invoice.\n\nFetches complete history and comments for a specific retainer invoice by ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to fetch its retainer invoice history.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice to look up its history and comments.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_retainer_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRetainerInvoiceHistory", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetRetainerInvoiceTemplates", - "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceTemplates", - "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceTemplates@1.0.0", - "description": "Retrieve all retainer invoice PDF templates.\n\nCall this tool to get a list of all available retainer invoice PDF templates from Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to retrieve retainer invoice templates from.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_retainer_invoice_templates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetRetainerInvoiceTemplates", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetSalesOrderAttachment", - "qualifiedName": "ZohoBooksApi.GetSalesOrderAttachment", - "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderAttachment@1.0.0", - "description": "Retrieve the file attached to a specific sales order.\n\nUse this tool to get the file attached to a sales order in Zoho Books by providing the sales order ID. It returns the file associated with the specified order.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order to retrieve the attachment for.", - "enum": null, - "inferrable": true - }, - { - "name": "require_preview_of_sales_order", - "type": "boolean", - "required": false, - "description": "Specify whether a preview of the Sales Order is required. Use True for preview, False for no preview.", - "enum": null, - "inferrable": true - }, - { - "name": "require_inline_response", - "type": "boolean", - "required": false, - "description": "Set to true if an inline response is needed, displaying directly in the browser.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_sales_order_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetSalesOrderAttachment", - "parameters": { - "organization_id": { - "value": "65987432123456789", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-1001", - "type": "string", - "required": true - }, - "require_preview_of_sales_order": { - "value": true, - "type": "boolean", - "required": false - }, - "require_inline_response": { - "value": false, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetSalesOrderComments", - "qualifiedName": "ZohoBooksApi.GetSalesOrderComments", - "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderComments@1.0.0", - "description": "Retrieve the history and comments of a sales order.\n\nUse this tool to obtain all comments and the complete history associated with a specific sales order when needing detailed insights or updates.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which to retrieve sales order comments.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order to retrieve comments and history for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_sales_order_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetSalesOrderComments", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetSalesOrderDetails", - "qualifiedName": "ZohoBooksApi.GetSalesOrderDetails", - "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderDetails@1.0.0", - "description": "Retrieve details of a specific sales order.\n\nThis tool is used to get the details of a sales order from Zoho Books. It should be called when there's a need to look up information about a particular sales order, such as for verification or record-keeping purposes.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. This ID is used to specify the organization within Zoho Books whose sales order details need to be retrieved.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order required to retrieve its details.", - "enum": null, - "inferrable": true - }, - { - "name": "output_format", - "type": "string", - "required": false, - "description": "Specifies the format in which to receive the sales order details. Options include: json, csv, xml, xls, xlsx, pdf, jhtml, and html. Default is json.", - "enum": null, - "inferrable": true - }, - { - "name": "print_pdf", - "type": "boolean", - "required": false, - "description": "Set to true to print the exported PDF of the sales order, otherwise false.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_sales_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetSalesOrderDetails", - "parameters": { - "organization_id": { - "value": "1234567890abcdef", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-2026-00058", - "type": "string", - "required": true - }, - "output_format": { - "value": "pdf", - "type": "string", - "required": false - }, - "print_pdf": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetSalesOrderEmailContent", - "qualifiedName": "ZohoBooksApi.GetSalesOrderEmailContent", - "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderEmailContent@1.0.0", - "description": "Retrieve email content for a specific sales order.\n\nThis tool is used to get the email content associated with a particular sales order, identified by its sales order ID. Use it when you need to view or analyze the email details of a sales order in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization in Zoho Books for which the sales order email content is required.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order to retrieve its email content.", - "enum": null, - "inferrable": true - }, - { - "name": "email_template_id", - "type": "string", - "required": false, - "description": "Optional. ID of the email template for retrieving specific email content. If not provided, defaults will be used.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_sales_order_email'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetSalesOrderEmailContent", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-100234", - "type": "string", - "required": true - }, - "email_template_id": { - "value": "ET-501", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetSalesOrderTemplates", - "qualifiedName": "ZohoBooksApi.GetSalesOrderTemplates", - "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderTemplates@1.0.0", - "description": "Retrieve all sales order PDF templates from Zoho Books.\n\nUse this tool to get a list of all available sales order PDF templates in Zoho Books. This is helpful when you need to view or manage your sales order templates.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "A string representing the ID of the organization. Required to specify which organization's sales order templates to retrieve.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_sales_order_templates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetSalesOrderTemplates", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetSalesReceiptDetails", - "qualifiedName": "ZohoBooksApi.GetSalesReceiptDetails", - "fullyQualifiedName": "ZohoBooksApi.GetSalesReceiptDetails@1.0.0", - "description": "Retrieve the details of a sales receipt.\n\nThis tool fetches the specific details of a sales receipt using the provided sales receipt ID. It should be called when detailed information about a particular sales receipt is needed.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization for which the sales receipt is being retrieved.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_receipt_id", - "type": "string", - "required": true, - "description": "The unique identifier for the sales receipt to be retrieved. Required for fetching the specific sales receipt details.", - "enum": null, - "inferrable": true - }, - { - "name": "output_format", - "type": "string", - "required": false, - "description": "Specifies the format in which to retrieve the sales receipt details. Options are 'json', 'pdf', or 'html'. Default is 'json'.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_sales_receipt'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetSalesReceiptDetails", - "parameters": { - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": true - }, - "sales_receipt_id": { - "value": "SR-00012345", - "type": "string", - "required": true - }, - "output_format": { - "value": "json", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetTaskDetails", - "qualifiedName": "ZohoBooksApi.GetTaskDetails", - "fullyQualifiedName": "ZohoBooksApi.GetTaskDetails@1.0.0", - "description": "Retrieve detailed information about a specific task in a project.\n\nThis tool should be called to obtain comprehensive details about a particular task within a project. It helps in understanding task specifics by providing relevant task data from Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "project_id", - "type": "string", - "required": true, - "description": "Unique identifier of the project.", - "enum": null, - "inferrable": true - }, - { - "name": "task_unique_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the task to retrieve details for from Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_task'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetTaskDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "project_id": { - "value": "987654321", - "type": "string", - "required": true - }, - "task_unique_identifier": { - "value": "task_abc123def", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetTaxAuthorities", - "qualifiedName": "ZohoBooksApi.GetTaxAuthorities", - "fullyQualifiedName": "ZohoBooksApi.GetTaxAuthorities@1.0.0", - "description": "Retrieve the list of tax authorities.\n\nUse this tool to obtain a list of all tax authorities, which can be helpful for managing tax-related settings or compliance.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which to retrieve tax authorities.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_tax_authorities'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetTaxAuthorities", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetTaxAuthorityDetails", - "qualifiedName": "ZohoBooksApi.GetTaxAuthorityDetails", - "fullyQualifiedName": "ZohoBooksApi.GetTaxAuthorityDetails@1.0.0", - "description": "Retrieve details of a specific tax authority.\n\nUse this tool to obtain information about a tax authority by providing its unique ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the ID of the organization to retrieve tax authority details.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_authority_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier of the tax authority to retrieve details for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_tax_authority'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetTaxAuthorityDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "tax_authority_unique_id": { - "value": "TA-9f8b7c6d-1234", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetTaxDetails", - "qualifiedName": "ZohoBooksApi.GetTaxDetails", - "fullyQualifiedName": "ZohoBooksApi.GetTaxDetails@1.0.0", - "description": "Retrieve the details of a specific tax.\n\nUse this tool to obtain information about a specific simple or compound tax by providing the tax ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization to retrieve tax details from.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for retrieving specific tax details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_tax'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetTaxDetails", - "parameters": { - "organization_id": { - "value": "672312345", - "type": "string", - "required": true - }, - "tax_identifier": { - "value": "TAX_001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetTaxExemptionDetails", - "qualifiedName": "ZohoBooksApi.GetTaxExemptionDetails", - "fullyQualifiedName": "ZohoBooksApi.GetTaxExemptionDetails@1.0.0", - "description": "Retrieve the details of a tax exemption using its ID.\n\nThis tool retrieves details about a specific tax exemption identified by its ID. It is useful for understanding exemption specifics within financial settings.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to access the organization's tax exemption details.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_exemption_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the tax exemption to retrieve details for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_tax_exemption'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetTaxExemptionDetails", - "parameters": { - "organization_id": { - "value": "5794387654321", - "type": "string", - "required": true - }, - "tax_exemption_identifier": { - "value": "TXEXMPT-2024-001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetTaxExemptionsList", - "qualifiedName": "ZohoBooksApi.GetTaxExemptionsList", - "fullyQualifiedName": "ZohoBooksApi.GetTaxExemptionsList@1.0.0", - "description": "Retrieve a list of tax exemptions from Zoho Books.\n\nCall this tool to get information about the current tax exemptions available in Zoho Books. It provides details on all tax exemptions configured in the system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization whose tax exemptions are being requested.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_tax_exemptions'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetTaxExemptionsList", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetTimeEntryDetails", - "qualifiedName": "ZohoBooksApi.GetTimeEntryDetails", - "fullyQualifiedName": "ZohoBooksApi.GetTimeEntryDetails@1.0.0", - "description": "Retrieve details of a specific time entry.\n\nUse this tool to get detailed information about a specific time entry by providing the time entry ID. It's useful for tracking and managing project time entries.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the time entry details are requested.", - "enum": null, - "inferrable": true - }, - { - "name": "time_entry_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the time entry to retrieve details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_time_entry'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetTimeEntryDetails", - "parameters": { - "organization_id": { - "value": "1000000001", - "type": "string", - "required": true - }, - "time_entry_identifier": { - "value": "TE-789123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetUserDetails", - "qualifiedName": "ZohoBooksApi.GetUserDetails", - "fullyQualifiedName": "ZohoBooksApi.GetUserDetails@1.0.0", - "description": "Retrieve detailed information about a specific user in Zoho Books.\n\nThis tool fetches the details of a user from Zoho Books using their user ID. It should be called when user information such as name, email, or role is required.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. This is required to specify the organization context for API calls.", - "enum": null, - "inferrable": true - }, - { - "name": "user_unique_identifier", - "type": "string", - "required": true, - "description": "A unique string that identifies the user in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetUserDetails", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "user_unique_identifier": { - "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetVendorCreditComments", - "qualifiedName": "ZohoBooksApi.GetVendorCreditComments", - "fullyQualifiedName": "ZohoBooksApi.GetVendorCreditComments@1.0.0", - "description": "Retrieve history and comments for a vendor credit.\n\nUse this tool to get the history and comments associated with a specific vendor credit by providing the vendor credit ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization. This ID is required to access the vendor credit comments.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the specific vendor credit to retrieve its history and comments.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_vendor_credit_comments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetVendorCreditComments", - "parameters": { - "organization_id": { - "value": "60000000001", - "type": "string", - "required": true - }, - "vendor_credit_identifier": { - "value": "VC-98765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetVendorCreditDetails", - "qualifiedName": "ZohoBooksApi.GetVendorCreditDetails", - "fullyQualifiedName": "ZohoBooksApi.GetVendorCreditDetails@1.0.0", - "description": "Retrieve details of a specific vendor credit.\n\nUse this tool to obtain detailed information about a vendor credit by providing the specific vendor credit ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose vendor credit details are being requested.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_id", - "type": "string", - "required": true, - "description": "Unique identifier for the vendor credit to retrieve details.", - "enum": null, - "inferrable": true - }, - { - "name": "output_format", - "type": "string", - "required": false, - "description": "Specify the format for vendor credit details. Options: json, xml, csv, xls, pdf, html, jhtml. Default is html.", - "enum": null, - "inferrable": true - }, - { - "name": "export_vendor_credit_pdf", - "type": "boolean", - "required": false, - "description": "Set to true to export the vendor credit as a PDF with default print options. Accepts 'true', 'false', 'on', 'off'.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_vendor_credit'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetVendorCreditDetails", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "vendor_credit_id": { - "value": "VC-1001", - "type": "string", - "required": true - }, - "output_format": { - "value": "pdf", - "type": "string", - "required": false - }, - "export_vendor_credit_pdf": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetVendorCreditRefund", - "qualifiedName": "ZohoBooksApi.GetVendorCreditRefund", - "fullyQualifiedName": "ZohoBooksApi.GetVendorCreditRefund@1.0.0", - "description": "Retrieve a refund for a specific vendor credit.\n\nFetches details of a refund associated with a specific vendor credit using the vendor credit ID and refund ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization to which the vendor credit belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the vendor credit to retrieve the refund details.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_refund_id", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor credit refund for the specific transaction. Required to retrieve refund details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_vendor_credit_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetVendorCreditRefund", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "vendor_credit_identifier": { - "value": "VC-1001", - "type": "string", - "required": true - }, - "vendor_credit_refund_id": { - "value": "REFUND-00042", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetVendorPaymentEmailContent", - "qualifiedName": "ZohoBooksApi.GetVendorPaymentEmailContent", - "fullyQualifiedName": "ZohoBooksApi.GetVendorPaymentEmailContent@1.0.0", - "description": "Retrieve email content for a vendor payment receipt.\n\nThis tool retrieves the pre-filled email details for a vendor payment, including the message subject, body, recipients, sender, and attachments. Use it to easily compose and send a payment receipt email to vendors.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to retrieve the vendor payment email content.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_payment_id", - "type": "string", - "required": true, - "description": "Unique identifier for the vendor payment to retrieve email content.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_vendor_payment_email_content'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetVendorPaymentEmailContent", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "vendor_payment_id": { - "value": "VPAY-9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "GetVendorPaymentRefundDetails", - "qualifiedName": "ZohoBooksApi.GetVendorPaymentRefundDetails", - "fullyQualifiedName": "ZohoBooksApi.GetVendorPaymentRefundDetails@1.0.0", - "description": "Retrieve details of a specific vendor payment refund.\n\nUse this tool to obtain information about a particular refund of a vendor payment, identified by the payment ID and refund ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization whose vendor payment refund details are requested.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the payment associated with the vendor refund.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_payment_refund_id", - "type": "string", - "required": true, - "description": "Unique identifier for the vendor payment refund to retrieve its details.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_vendor_payment_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.GetVendorPaymentRefundDetails", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "payment_identifier": { - "value": "PAY-2026-0001", - "type": "string", - "required": true - }, - "vendor_payment_refund_id": { - "value": "REF-987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ImportBankStatements", - "qualifiedName": "ZohoBooksApi.ImportBankStatements", - "fullyQualifiedName": "ZohoBooksApi.ImportBankStatements@1.0.0", - "description": "Import bank or credit card feeds into your account.\n\n Use this tool to import bank or credit card statements directly into your account for seamless financial management. This should be called when you need to process new bank or credit card data into the system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization to import bank statements for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'import_bank_statements'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ImportBankStatements", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"bank_account_id\":\"BA-987654\",\"file_name\":\"statement_jan2026.csv\",\"file_format\":\"CSV\",\"file_content_base64\":\"VGhpcyBpcyBhIHNhbXBsZSBmaWxlIGNvbnRlbnQ=\",\"date_format\":\"dd/MM/yyyy\",\"currency\":\"USD\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ImportCrmProductToZohoBooks", - "qualifiedName": "ZohoBooksApi.ImportCrmProductToZohoBooks", - "fullyQualifiedName": "ZohoBooksApi.ImportCrmProductToZohoBooks@1.0.0", - "description": "Import a product from Zoho CRM to Zoho Books.\n\nUse this tool to import an item from Zoho CRM into Zoho Books by specifying its CRM product ID. This enables synchronization of product data between the two services.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. This is required to import products from Zoho CRM.", - "enum": null, - "inferrable": true - }, - { - "name": "crm_product_id", - "type": "string", - "required": true, - "description": "Unique identifier of the Zoho CRM product to be imported into Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint ''." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ImportCrmProductToZohoBooks", - "parameters": { - "organization_identifier": { - "value": "36987451234567890", - "type": "string", - "required": true - }, - "crm_product_id": { - "value": "347812345678901234", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ImportCustomerFromCrm", - "qualifiedName": "ZohoBooksApi.ImportCustomerFromCrm", - "fullyQualifiedName": "ZohoBooksApi.ImportCustomerFromCrm@1.0.0", - "description": "Import a customer from Zoho CRM to Zoho Books using CRM account ID.\n\nUse this tool to import a customer from Zoho CRM into Zoho Books by providing the CRM account ID. This requires integration between Zoho Books and Zoho CRM either through Accounts and Contacts sync or Accounts only sync.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique identifier for the organization within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "crm_account_id", - "type": "string", - "required": true, - "description": "Unique identifier of the Zoho CRM account to import the customer from.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'import_customer_using_crm_account_id'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ImportCustomerFromCrm", - "parameters": { - "organization_id": { - "value": "20001234567", - "type": "string", - "required": true - }, - "crm_account_id": { - "value": "749012345678901234", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ImportVendorFromCrm", - "qualifiedName": "ZohoBooksApi.ImportVendorFromCrm", - "fullyQualifiedName": "ZohoBooksApi.ImportVendorFromCrm@1.0.0", - "description": "Import a vendor from Zoho CRM to Zoho Books using CRM vendor ID.\n\nUse this tool to import a vendor from Zoho CRM to Zoho Books via Vendor-only sync, requiring the CRM vendor ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books for which the vendor is being imported. This ID is used to specify the target organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "zoho_crm_vendor_id", - "type": "string", - "required": true, - "description": "Unique identifier of the Zoho CRM vendor to import.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'import_vendor_using_crm_vendor_id'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ImportVendorFromCrm", - "parameters": { - "organization_id": { - "value": "9876543210", - "type": "string", - "required": true - }, - "zoho_crm_vendor_id": { - "value": "CRMVENDOR_0012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "InviteUserToProject", - "qualifiedName": "ZohoBooksApi.InviteUserToProject", - "fullyQualifiedName": "ZohoBooksApi.InviteUserToProject@1.0.0", - "description": "Invite a user to a project in Zoho Books.\n\n Use this tool to send an invitation to a user to join a specific project in Zoho Books. This is helpful when you need to collaborate with others by adding them to project teams.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization in Zoho Books where the project is located. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "project_unique_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the project in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'invite_project_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.InviteUserToProject", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "project_unique_identifier": { - "value": "proj_abcdef123456", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"project_user\":{\"email\":\"jane.doe@example.com\",\"role\":\"collaborator\",\"send_invite\":true,\"message\":\"Please join the project to collaborate on tasks.\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListAccountTransactions", - "qualifiedName": "ZohoBooksApi.ListAccountTransactions", - "fullyQualifiedName": "ZohoBooksApi.ListAccountTransactions@1.0.0", - "description": "Retrieve transactions for a specified account.\n\nUse this tool to list all transactions associated with a given account. Ideal for tracking financial activities related to specific accounts.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique identifier for the organization whose account transactions are being queried.", - "enum": null, - "inferrable": true - }, - { - "name": "account_id", - "type": "string", - "required": true, - "description": "The unique ID of the account to retrieve transactions for.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_date_range", - "type": "string", - "required": false, - "description": "Specify a date range for searching transactions. Use 'yyyy-mm-dd' format. Supports 'date.start', 'date.end', 'date.before', and 'date.after'.", - "enum": null, - "inferrable": true - }, - { - "name": "amount_range", - "type": "number", - "required": false, - "description": "Specify the amount range to filter account transactions. Use fields like less_than, less_equals, greater_than, and greater_equals to define the criteria.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_account_type", - "type": "string", - "required": false, - "description": "Filter accounts based on account type and status. Options: AccountType.All, AccountType.Active, AccountType.Inactive, AccountType.Asset, AccountType.Liability, AccountType.Equity, AccountType.Income, AccountType.Expense.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_type", - "type": "string", - "required": false, - "description": "Filter transactions by type, such as 'invoice', 'expense', or 'refund'.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by", - "type": "string", - "required": false, - "description": "Specify the column to sort transactions. Possible values: 'account_name', 'account_type'.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Page number to be fetched for the transaction list. Defaults to 1 if not specified.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to be fetched per page. Default is 200. Specify a custom integer to override.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_chart_of_account_transactions'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListAccountTransactions", - "parameters": { - "organization_id": { - "value": "6723456789", - "type": "string", - "required": true - }, - "account_id": { - "value": "A-987654321", - "type": "string", - "required": true - }, - "transaction_date_range": { - "value": "date.start:2025-01-01,date.end:2025-01-31", - "type": "string", - "required": false - }, - "amount_range": { - "value": { - "greater_than": 100, - "less_than": 1000 - }, - "type": "integer", - "required": false - }, - "filter_by_account_type": { - "value": "AccountType.Active", - "type": "string", - "required": false - }, - "transaction_type": { - "value": "expense", - "type": "string", - "required": false - }, - "sort_by": { - "value": "account_name", - "type": "string", - "required": false - }, - "page_number": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListActiveInventoryItems", - "qualifiedName": "ZohoBooksApi.ListActiveInventoryItems", - "fullyQualifiedName": "ZohoBooksApi.ListActiveInventoryItems@1.0.0", - "description": "Retrieve a paginated list of all active inventory items.\n\nUse this tool to fetch a list of all active items from the inventory. It provides the data with pagination to manage large sets of items efficiently.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to fetch items from.", - "enum": null, - "inferrable": true - }, - { - "name": "item_name_search", - "type": "string", - "required": false, - "description": "Search for items by name using prefixes 'name_startswith' or 'name_contains'. Maximum length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "description_filter", - "type": "string", - "required": false, - "description": "Search items by description. Use keywords or phrases up to 100 characters. Prefix with 'description_startswith' or 'description_contains' for specific filtering.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_rate_criteria", - "type": "string", - "required": false, - "description": "Specify rate conditions to filter items. Use format like 'rate_less_than:100'.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_tax_id", - "type": "string", - "required": false, - "description": "Search for items using the tax ID as a filter.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_name_filter", - "type": "string", - "required": false, - "description": "Filter items by their tax name.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_exemption_identifier", - "type": "string", - "required": false, - "description": "ID for the tax exemption. Required if is_taxable is false.", - "enum": null, - "inferrable": true - }, - { - "name": "associated_account_id", - "type": "string", - "required": false, - "description": "ID of the account to associate the item with.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_items_by_status", - "type": "string", - "required": false, - "description": "Filter items by status. Allowed values are 'Status.All', 'Status.Active', and 'Status.Inactive'.", - "enum": null, - "inferrable": true - }, - { - "name": "search_items_by_text", - "type": "string", - "required": false, - "description": "Search for items by name or description, up to 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_items_by", - "type": "string", - "required": false, - "description": "Specify the attribute to sort items by. Allowed values: 'name', 'rate', 'tax_name'.", - "enum": null, - "inferrable": true - }, - { - "name": "sat_item_key_code", - "type": "string", - "required": false, - "description": "SAT Item key code used to filter items. Provide a valid string key code for lookup.", - "enum": null, - "inferrable": true - }, - { - "name": "sat_unit_code", - "type": "string", - "required": false, - "description": "SAT Unit code for specific inventory items. Used to search or filter items based on their unit code.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "The page number of active items to retrieve, with a default of 1 if unspecified.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - }, - { - "name": "is_item_taxable", - "type": "boolean", - "required": false, - "description": "Boolean indicating if the item is taxable. True means the item is taxable.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_items'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListActiveInventoryItems", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "item_name_search": { - "value": "name_startswith:Widget", - "type": "string", - "required": false - }, - "description_filter": { - "value": "description_contains:stainless steel", - "type": "string", - "required": false - }, - "search_by_rate_criteria": { - "value": "rate_less_than:100", - "type": "string", - "required": false - }, - "search_by_tax_id": { - "value": "TX-1001", - "type": "string", - "required": false - }, - "tax_name_filter": { - "value": "GST", - "type": "string", - "required": false - }, - "tax_exemption_identifier": { - "value": "", - "type": "string", - "required": false - }, - "associated_account_id": { - "value": "acct_5555", - "type": "string", - "required": false - }, - "filter_items_by_status": { - "value": "Status.Active", - "type": "string", - "required": false - }, - "search_items_by_text": { - "value": "stainless", - "type": "string", - "required": false - }, - "sort_items_by": { - "value": "name", - "type": "string", - "required": false - }, - "sat_item_key_code": { - "value": "01010101", - "type": "string", - "required": false - }, - "sat_unit_code": { - "value": "H87", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - }, - "is_item_taxable": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListAllBills", - "qualifiedName": "ZohoBooksApi.ListAllBills", - "fullyQualifiedName": "ZohoBooksApi.ListAllBills@1.0.0", - "description": "Retrieve all bills with pagination support.\n\nThis tool is used to list all bills available in the system, providing pagination information to navigate through large datasets. It should be called whenever there's a need to view or analyze billing details over multiple pages.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to specify which organization's bills to list.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_bill_number", - "type": "string", - "required": false, - "description": "Filter bills using the bill number. Use exact matches, prefix with 'bill_number_startswith', or substring with 'bill_number_contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_reference_number", - "type": "string", - "required": false, - "description": "Filter bills by reference number. Supports exact matches, prefix matching using `reference_number_startswith`, and substring matching using `reference_number_contains`. Useful for finding bills by external references or vendor invoice numbers.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_date_filter", - "type": "string", - "required": false, - "description": "Filter bills by bill date in YYYY-MM-DD format. Use for specific dates, date ranges (date_start/date_end), or relative dates (date_before/date_after).", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_status", - "type": "string", - "required": false, - "description": "Specify the status of bills to filter by. Options include 'paid', 'open', 'overdue', 'void', or 'partially_paid'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_description_text", - "type": "string", - "required": false, - "description": "Filter bills using description text. Supports exact matches, prefix matching with 'description_startswith', or substring matching with 'description_contains'. Useful for finding bills by line item descriptions or vendor notes.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_vendor_name", - "type": "string", - "required": false, - "description": "Filter bills by vendor name. Use prefix matching with 'vendor_name_startswith' or substring matching with 'vendor_name_contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_total_amount", - "type": "number", - "required": false, - "description": "Filter bills by total amount using conditions like less than, greater than, etc. Specify conditions using keys like 'total_less_than' or 'total_greater_than'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_vendor_id", - "type": "integer", - "required": false, - "description": "Unique identifier to filter bills by a specific vendor, retrieving all related bills.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_id", - "type": "integer", - "required": false, - "description": "Filter bills by a specific item ID. Retrieves all bills containing a particular product or service item based on its unique identifier.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_bill_identifier", - "type": "integer", - "required": false, - "description": "Filter bills by a specific recurring bill ID to retrieve all bills generated from a recurring template or schedule.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_purchase_order_id", - "type": "integer", - "required": false, - "description": "Specify the Purchase Order ID to filter bills associated with a specific order. Helps track procurement workflows.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_last_modified_time", - "type": "string", - "required": false, - "description": "Filter bills by last modification timestamp using ISO 8601 format (YYYY-MM-DDTHH:MM:SS+/-HHMM) to find bills modified at or after a specific time.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_status_filter", - "type": "string", - "required": false, - "description": "Filter bills by status. Options: Status.All, Status.PartiallyPaid, Status.Paid, Status.Overdue, Status.Void, Status.Open.", - "enum": null, - "inferrable": true - }, - { - "name": "search_text", - "type": "string", - "required": false, - "description": "Filter bills using general text across bill number, reference number, and vendor name to find matches. Useful for quick searches.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specify the page number for pagination to navigate multiple pages of bills.", - "enum": null, - "inferrable": true - }, - { - "name": "bills_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of bills to retrieve per page. Default is 200, but adjustable for performance needs and rate limits.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Specify the column to sort bills by. Available options: vendor_name, bill_number, date, due_date, total, balance, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "sorting_order", - "type": "string", - "required": false, - "description": "Specify the sort order for bills: 'A' for ascending, 'D' for descending.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_bills'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListAllBills", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "filter_by_bill_number": { - "value": "bill_number_startswith:INV-2026-", - "type": "string", - "required": false - }, - "filter_by_reference_number": { - "value": "reference_number_contains:PO-2026-", - "type": "string", - "required": false - }, - "bill_date_filter": { - "value": "date_start:2026-01-01,date_end:2026-01-31", - "type": "string", - "required": false - }, - "filter_by_status": { - "value": "open", - "type": "string", - "required": false - }, - "filter_by_description_text": { - "value": "description_contains:office supplies", - "type": "string", - "required": false - }, - "filter_by_vendor_name": { - "value": "vendor_name_contains:Acme", - "type": "string", - "required": false - }, - "filter_by_total_amount": { - "value": 1000, - "type": "integer", - "required": false - }, - "filter_by_vendor_id": { - "value": 789, - "type": "integer", - "required": false - }, - "filter_by_item_id": { - "value": 456, - "type": "integer", - "required": false - }, - "recurring_bill_identifier": { - "value": 321, - "type": "integer", - "required": false - }, - "filter_by_purchase_order_id": { - "value": 654, - "type": "integer", - "required": false - }, - "filter_by_last_modified_time": { - "value": "2026-02-01T00:00:00+0000", - "type": "string", - "required": false - }, - "bill_status_filter": { - "value": "Status.Open", - "type": "string", - "required": false - }, - "search_text": { - "value": "ACME Invoice", - "type": "string", - "required": false - }, - "page_number": { - "value": 2, - "type": "integer", - "required": false - }, - "bills_per_page": { - "value": 100, - "type": "integer", - "required": false - }, - "sort_by_column": { - "value": "date", - "type": "string", - "required": false - }, - "sorting_order": { - "value": "D", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListBankAccounts", - "qualifiedName": "ZohoBooksApi.ListBankAccounts", - "fullyQualifiedName": "ZohoBooksApi.ListBankAccounts@1.0.0", - "description": "List all bank and credit card accounts for your organization.\n\nUse this tool to retrieve all bank and credit card accounts associated with your organization in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. This is required to list all associated bank and credit card accounts in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "account_status_filter", - "type": "string", - "required": false, - "description": "Specify the status to filter accounts: 'Status.All', 'Status.Active', or 'Status.Inactive'.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by", - "type": "string", - "required": false, - "description": "Specify the sorting criterion for the accounts. Options: 'account_name', 'account_type', 'account_code'.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "The page number of results to retrieve. Defaults to 1 if not specified.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to be fetched per page. Default value is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_bank_accounts'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListBankAccounts", - "parameters": { - "organization_id": { - "value": "6001234567890", - "type": "string", - "required": true - }, - "account_status_filter": { - "value": "Status.Active", - "type": "string", - "required": false - }, - "sort_by": { - "value": "account_name", - "type": "string", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 200, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListBaseCurrencyAdjustments", - "qualifiedName": "ZohoBooksApi.ListBaseCurrencyAdjustments", - "fullyQualifiedName": "ZohoBooksApi.ListBaseCurrencyAdjustments@1.0.0", - "description": "Fetch base currency adjustments list from Zoho Books.\n\nThis tool retrieves a list of base currency adjustments from Zoho Books. Call this tool when you need to obtain current base currency adjustments for accounting or financial reporting purposes.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to retrieve currency adjustments from.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_date", - "type": "string", - "required": false, - "description": "Filter the base currency adjustment list by specific date ranges. Allowed values are: Date.All, Date.Today, Date.ThisWeek, Date.ThisMonth, Date.ThisQuarter, Date.ThisYear.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_currency_adjustment_list_by", - "type": "string", - "required": false, - "description": "Specify the sorting criterion for the currency adjustment list. Options include: adjustment_date, exchange_rate, currency_code, debit_or_credit, or gain_or_loss.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_last_modified_time", - "type": "string", - "required": false, - "description": "Use a timestamp to filter adjustments by their last modified time.", - "enum": null, - "inferrable": true - }, - { - "name": "fetch_page_number", - "type": "integer", - "required": false, - "description": "The page number to fetch. Defaults to 1 if not specified.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_base_currency_adjustments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListBaseCurrencyAdjustments", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "filter_by_date": { - "value": "Date.ThisMonth", - "type": "string", - "required": false - }, - "sort_currency_adjustment_list_by": { - "value": "adjustment_date", - "type": "string", - "required": false - }, - "search_by_last_modified_time": { - "value": "2026-02-01T00:00:00Z", - "type": "string", - "required": false - }, - "fetch_page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListBillsWithVendorCredit", - "qualifiedName": "ZohoBooksApi.ListBillsWithVendorCredit", - "fullyQualifiedName": "ZohoBooksApi.ListBillsWithVendorCredit@1.0.0", - "description": "List bills with applied vendor credit from a vendor credit ID.\n\nFetch a list of bills where a specific vendor credit has been applied. Use this tool to understand how vendor credits are distributed across bills.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to fetch applicable bills for vendor credit.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_id", - "type": "string", - "required": true, - "description": "Unique identifier for the vendor credit to list the applied bills.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_bills_credited'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListBillsWithVendorCredit", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "vendor_credit_id": { - "value": "VC-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListChartOfAccounts", - "qualifiedName": "ZohoBooksApi.ListChartOfAccounts", - "fullyQualifiedName": "ZohoBooksApi.ListChartOfAccounts@1.0.0", - "description": "Retrieve a list of all chart of accounts.\n\nUse this tool to obtain a complete list of chart of accounts with pagination support. Ideal for financial data management.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to retrieve chart of accounts for.", - "enum": null, - "inferrable": true - }, - { - "name": "account_type_filter", - "type": "string", - "required": false, - "description": "Filter accounts based on type and status. Options: AccountType.All, AccountType.Active, AccountType.Inactive, AccountType.Asset, AccountType.Liability, AccountType.Equity, AccountType.Income, AccountType.Expense.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_accounts_by", - "type": "string", - "required": false, - "description": "Specify how to sort the accounts. Options: 'account_name', 'account_type'.", - "enum": null, - "inferrable": true - }, - { - "name": "last_modified_time_filter", - "type": "string", - "required": false, - "description": "Fetch accounts modified since a specific timestamp, formatted as YYYY-MM-DDTHH:MM:SSZ.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specify the page number to retrieve. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to retrieve per page. Defaults to 200 if not specified.", - "enum": null, - "inferrable": true - }, - { - "name": "include_balance", - "type": "boolean", - "required": false, - "description": "Include current account balances in the response when set to true.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_chart_of_accounts'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListChartOfAccounts", - "parameters": { - "organization_id": { - "value": "6790123456789012345", - "type": "string", - "required": true - }, - "account_type_filter": { - "value": "AccountType.Active", - "type": "string", - "required": false - }, - "sort_accounts_by": { - "value": "account_name", - "type": "string", - "required": false - }, - "last_modified_time_filter": { - "value": "2026-02-01T00:00:00Z", - "type": "string", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 200, - "type": "integer", - "required": false - }, - "include_balance": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListChildExpenses", - "qualifiedName": "ZohoBooksApi.ListChildExpenses", - "fullyQualifiedName": "ZohoBooksApi.ListChildExpenses@1.0.0", - "description": "Retrieve child expenses from a recurring expense.\n\nUse this tool to list expenses that have been generated from a specific recurring expense. Useful for tracking individual instances of a recurring cost.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to list child expenses for.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_expense_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the recurring expense to retrieve child expenses.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_expenses_by", - "type": "string", - "required": false, - "description": "Specify the field to sort expenses. Valid options: next_expense_date, account_name, total, last_created_date, recurrence_name, customer_name, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "fetch_page_number", - "type": "integer", - "required": false, - "description": "Specify the page number to retrieve. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of expense records to retrieve per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_child_expenses_of_recurring_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListChildExpenses", - "parameters": { - "organization_id": { - "value": "987654321", - "type": "string", - "required": true - }, - "recurring_expense_identifier": { - "value": "RECURRING_EXP_001", - "type": "string", - "required": true - }, - "sort_expenses_by": { - "value": "next_expense_date", - "type": "string", - "required": false - }, - "fetch_page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCompanyEmployees", - "qualifiedName": "ZohoBooksApi.ListCompanyEmployees", - "fullyQualifiedName": "ZohoBooksApi.ListCompanyEmployees@1.0.0", - "description": "Retrieve a paginated list of all employees.\n\nUse this tool to obtain a list of employees from the company database, including pagination for handling large sets of data. Ideal for getting employee details in an organized manner.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose employees are being listed. This should be provided as a string.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "The page number to fetch. Default is 1 for the first page.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of employee records to retrieve per page, with a default of 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_employees'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCompanyEmployees", - "parameters": { - "organization_id": { - "value": "1234567890abcdef", - "type": "string", - "required": true - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 200, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListConfiguredCurrencies", - "qualifiedName": "ZohoBooksApi.ListConfiguredCurrencies", - "fullyQualifiedName": "ZohoBooksApi.ListConfiguredCurrencies@1.0.0", - "description": "Retrieve the list of configured currencies in Zoho Books.\n\nThis tool retrieves the list of all currencies configured within Zoho Books. Use it when you need to know which currencies are set up in the system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. Required to retrieve currency data for a specific organization.", - "enum": null, - "inferrable": true - }, - { - "name": "exclude_base_currency_filter", - "type": "string", - "required": false, - "description": "Set to exclude the base currency from the result. Use 'Currencies.ExcludeBaseCurrency'.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "The page number of currency records to fetch. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of currency records to fetch per page. Defaults to 200 if not specified.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_currencies'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListConfiguredCurrencies", - "parameters": { - "organization_id": { - "value": "6791827000000123456", - "type": "string", - "required": true - }, - "exclude_base_currency_filter": { - "value": "Currencies.ExcludeBaseCurrency", - "type": "string", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListContactPersons", - "qualifiedName": "ZohoBooksApi.ListContactPersons", - "fullyQualifiedName": "ZohoBooksApi.ListContactPersons@1.0.0", - "description": "Retrieve contact persons for a given contact ID.\n\nUse this tool to list all contact persons associated with a specific contact ID, utilizing pagination.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the contact persons are being retrieved.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the contact to retrieve associated persons.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "The page number to fetch when listing contact persons. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specifies the number of contact records to retrieve per page. The default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_contact_persons'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListContactPersons", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "contact_identifier": { - "value": "1000000000001", - "type": "string", - "required": true - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCreditNoteInvoices", - "qualifiedName": "ZohoBooksApi.ListCreditNoteInvoices", - "fullyQualifiedName": "ZohoBooksApi.ListCreditNoteInvoices@1.0.0", - "description": "List invoices to which the credit note is applied.\n\nUse this tool to retrieve a list of invoices that are associated with a specific credit note.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which you want to list the invoices associated with the credit note.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to retrieve associated invoices.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_invoices_of_credit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCreditNoteInvoices", - "parameters": { - "organization_id": { - "value": "600000000000123", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "CN-0001234567", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCreditNoteRefunds", - "qualifiedName": "ZohoBooksApi.ListCreditNoteRefunds", - "fullyQualifiedName": "ZohoBooksApi.ListCreditNoteRefunds@1.0.0", - "description": "Retrieve refunds for a specific credit note.\n\nUse this tool to list all refunds associated with a particular credit note by specifying its ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to retrieve credit note refunds for.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to retrieve refunds for.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specify the page number to retrieve in paginated results. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "results_per_page", - "type": "integer", - "required": false, - "description": "Number of records to return per page, controlling pagination. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_credit_note_refunds1'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCreditNoteRefunds", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "CN_1001", - "type": "string", - "required": true - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "results_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCreditNotes", - "qualifiedName": "ZohoBooksApi.ListCreditNotes", - "fullyQualifiedName": "ZohoBooksApi.ListCreditNotes@1.0.0", - "description": "Retrieve and filter a list of credit notes.\n\nRetrieve a paginated list of credit notes using filters and sorting based on date, status, amount, customer details, items, taxes, and custom fields.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which you want to list credit notes. Required for identification and retrieval.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_number", - "type": "string", - "required": false, - "description": "Filter credit notes by a specific credit note number. The number must be a unique identifier, up to 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_date", - "type": "string", - "required": false, - "description": "Filter credit notes by the date they were raised. Use yyyy-mm-dd format to search for specific credit notes.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_status", - "type": "string", - "required": false, - "description": "Specify the status to filter credit notes. Options include: 'open', 'closed', 'void', or 'draft'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_total_amount", - "type": "number", - "required": false, - "description": "Filter credit notes by their total amount. Input a specific total value to retrieve matching credit notes.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_reference_number", - "type": "string", - "required": false, - "description": "Filter credit notes by their reference number, limited to 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_customer_name", - "type": "string", - "required": false, - "description": "Filter credit notes by customer name. Use to search for credit notes associated with a specific customer. Max-Length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_name", - "type": "string", - "required": false, - "description": "Search for credit notes by item name. Maximum length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_customer_id", - "type": "string", - "required": false, - "description": "Search for credit notes associated with a specific customer using the customer ID. Retrieve customer IDs from the contacts API.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_description", - "type": "string", - "required": false, - "description": "Filter credit notes by item description. Use 'startswith:' or 'contains:' for flexible matching. Max length of 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_id", - "type": "string", - "required": false, - "description": "Filter credit notes by item ID to find notes containing a specific item. Obtain item IDs from the items API.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_line_item_id", - "type": "string", - "required": false, - "description": "Search for credit notes containing a specific line item using its ID.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_tax_id", - "type": "string", - "required": false, - "description": "Filter credit notes using a specific tax ID. Retrieve the tax ID from the taxes API.", - "enum": null, - "inferrable": true - }, - { - "name": "status_filter", - "type": "string", - "required": false, - "description": "Filter credit notes by status using predefined values: 'Status.All', 'Status.Open', 'Status.Draft', 'Status.Closed', 'Status.Void'.", - "enum": null, - "inferrable": true - }, - { - "name": "search_text", - "type": "string", - "required": false, - "description": "Search credit notes across multiple fields like credit note number, customer name, and reference number. Max-length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_credit_notes_by_column", - "type": "string", - "required": false, - "description": "Specify the column by which to sort the credit notes. Allowed values: 'customer_name', 'creditnote_number', 'balance', 'total', 'date', and 'created_time'.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Page number for pagination. Specify which page of results to retrieve. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of credit notes to be returned per page for pagination. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_credit_notes'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCreditNotes", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "credit_note_number": { - "value": "CN-2026-0001", - "type": "string", - "required": false - }, - "filter_date": { - "value": "2026-02-01", - "type": "string", - "required": false - }, - "filter_by_status": { - "value": "open", - "type": "string", - "required": false - }, - "filter_by_total_amount": { - "value": 1250.75, - "type": "integer", - "required": false - }, - "filter_by_reference_number": { - "value": "REF-789", - "type": "string", - "required": false - }, - "filter_by_customer_name": { - "value": "Acme Corporation", - "type": "string", - "required": false - }, - "filter_by_item_name": { - "value": "Widget Pro", - "type": "string", - "required": false - }, - "filter_by_customer_id": { - "value": "5601234000000001001", - "type": "string", - "required": false - }, - "filter_by_item_description": { - "value": "contains:replacement part", - "type": "string", - "required": false - }, - "filter_by_item_id": { - "value": "45000000000001", - "type": "string", - "required": false - }, - "filter_by_line_item_id": { - "value": "59000000000002", - "type": "string", - "required": false - }, - "filter_by_tax_id": { - "value": "tax_98765", - "type": "string", - "required": false - }, - "status_filter": { - "value": "Status.Open", - "type": "string", - "required": false - }, - "search_text": { - "value": "Acme CN-2026", - "type": "string", - "required": false - }, - "sort_credit_notes_by_column": { - "value": "date", - "type": "string", - "required": false - }, - "page_number": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCurrencyAdjustmentAccounts", - "qualifiedName": "ZohoBooksApi.ListCurrencyAdjustmentAccounts", - "fullyQualifiedName": "ZohoBooksApi.ListCurrencyAdjustmentAccounts@1.0.0", - "description": "Retrieve accounts involved in currency adjustments.\n\nThis tool retrieves a list of accounts that have transactions affected by a specified exchange rate. Use this to find financial accounts needing currency adjustment.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which the currency adjustment accounts are needed.", - "enum": null, - "inferrable": true - }, - { - "name": "currency_id_for_adjustment", - "type": "string", - "required": true, - "description": "ID of the currency to post an adjustment for. This specifies which currency is being adjusted.", - "enum": null, - "inferrable": true - }, - { - "name": "adjustment_date", - "type": "string", - "required": true, - "description": "Specify the date for the currency adjustment in YYYY-MM-DD format.", - "enum": null, - "inferrable": true - }, - { - "name": "exchange_rate", - "type": "number", - "required": true, - "description": "Specify the exchange rate for the currency to affect transactions.", - "enum": null, - "inferrable": true - }, - { - "name": "adjustment_notes", - "type": "string", - "required": true, - "description": "Notes for the base currency adjustment, providing additional information or context.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_base_currency_adjustment_accounts'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCurrencyAdjustmentAccounts", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "currency_id_for_adjustment": { - "value": "USD", - "type": "string", - "required": true - }, - "adjustment_date": { - "value": "2026-02-18", - "type": "string", - "required": true - }, - "exchange_rate": { - "value": 1.1345, - "type": "integer", - "required": true - }, - "adjustment_notes": { - "value": "Revaluation of USD balances due to updated bank statement exchange rates for Q1 2026.", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCurrencyExchangeRates", - "qualifiedName": "ZohoBooksApi.ListCurrencyExchangeRates", - "fullyQualifiedName": "ZohoBooksApi.ListCurrencyExchangeRates@1.0.0", - "description": "Retrieve exchange rates for a specific currency.\n\nThis tool fetches a list of configured exchange rates for a given currency using its ID. Call this tool to obtain exchange rate information associated with a particular currency.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to retrieve exchange rates.", - "enum": null, - "inferrable": true - }, - { - "name": "currency_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the currency to retrieve exchange rates.", - "enum": null, - "inferrable": true - }, - { - "name": "exchange_rate_from_date", - "type": "string", - "required": false, - "description": "Date to start retrieving exchange rates. Returns rates from this date or nearest previous match.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Sorts the exchange rates by the specified column. Only 'effective_date' is allowed.", - "enum": null, - "inferrable": true - }, - { - "name": "return_current_date_exchange_rate_only", - "type": "boolean", - "required": false, - "description": "Set to true to return the exchange rate only if it's available for the current date.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_exchange_rates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCurrencyExchangeRates", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "currency_identifier": { - "value": "USD", - "type": "string", - "required": true - }, - "exchange_rate_from_date": { - "value": "2024-01-01", - "type": "string", - "required": false - }, - "sort_by_column": { - "value": "effective_date", - "type": "string", - "required": false - }, - "return_current_date_exchange_rate_only": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCustomerDebitNotes", - "qualifiedName": "ZohoBooksApi.ListCustomerDebitNotes", - "fullyQualifiedName": "ZohoBooksApi.ListCustomerDebitNotes@1.0.0", - "description": "Retrieve and organize customer debit notes easily.\n\nUse this tool to access customer debit notes with options for pagination, filtering, searching, and sorting, allowing you to view and organize debit note data efficiently.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization for this request. Required for identifying the organization whose debit notes are being queried.", - "enum": null, - "inferrable": true - }, - { - "name": "search_item_name", - "type": "string", - "required": false, - "description": "Search debit notes based on product or service names. Supports 'item_name_startswith' and 'item_name_contains'. Max length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_item_id", - "type": "string", - "required": false, - "description": "Search for customer debit notes using a specific item ID to filter based on product or service identifiers.", - "enum": null, - "inferrable": true - }, - { - "name": "item_description_filter", - "type": "string", - "required": false, - "description": "Filter debit notes by item description using detailed descriptions of products or services. Supports 'startswith' and 'contains' variants. Max length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_customer_name", - "type": "string", - "required": false, - "description": "Search debit notes by customer name. Filters based on the business or individual name. Maximum 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_email_filter", - "type": "string", - "required": false, - "description": "Filter debit notes by customer email address, with a maximum length of 100 characters, to find specific customers or generate segment reports.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_total_amount", - "type": "string", - "required": false, - "description": "Filter debit notes by the total amount, including taxes, discounts, and adjustments. Useful for finding specific price ranges or high-value transactions.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_outstanding_balance", - "type": "string", - "required": false, - "description": "Filter debit notes by the remaining unpaid amount owed by the customer. Useful for finding overdue debit notes, tracking receivables, or generating aging reports.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_custom_field", - "type": "string", - "required": false, - "description": "Filter debit notes using custom fields. Supports 'custom_field_startswith' and 'custom_field_contains' for searching specific text patterns.", - "enum": null, - "inferrable": true - }, - { - "name": "search_date_range", - "type": "string", - "required": false, - "description": "Filter debit notes by creation date using yyyy-mm-dd format. Supports variants: date_start, date_end, date_before, date_after.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_due_date", - "type": "string", - "required": false, - "description": "Search debit notes by due date using yyyy-mm-dd format. Supports 'due_date_start', 'due_date_end', 'due_date_before', and 'due_date_after' variants.", - "enum": null, - "inferrable": true - }, - { - "name": "creation_date_filter", - "type": "string", - "required": false, - "description": "Filter debit notes by creation date. Use formats: 'yyyy-mm-dd', 'created_date_start', 'created_date_end', 'created_date_before', or 'created_date_after'.", - "enum": null, - "inferrable": true - }, - { - "name": "last_modified_timestamp", - "type": "string", - "required": false, - "description": "Filter debit notes modified after this timestamp in YYYY-MM-DDTHH:MM:SS-UTC format.", - "enum": null, - "inferrable": true - }, - { - "name": "status_filter", - "type": "string", - "required": false, - "description": "Filter debit notes by their status. Allowed values: sent, draft, overdue, paid, void, unpaid, partially_paid, viewed.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_customer_id", - "type": "string", - "required": false, - "description": "Search debit notes by the customer's unique identifier. Use the customer ID from the Contacts API to find all corresponding debit notes.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_debit_note_type", - "type": "string", - "required": false, - "description": "Set to 'Type.DebitNote' to filter debit notes specifically. Required for this search.", - "enum": null, - "inferrable": true - }, - { - "name": "general_search_text", - "type": "string", - "required": false, - "description": "Search debit notes by number, purchase order, or customer name. Max 100 characters. Useful for quick searches across multiple fields.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_debit_notes_by_column", - "type": "string", - "required": false, - "description": "Sort debit notes by a specific column. Allowed values: customer_name, debit_note_number, date, due_date, total, balance, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "Page number to retrieve from paginated results. Default is 1. Use with `per_page` to navigate extensive debit note data efficiently.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of records to retrieve per page, up to a maximum of 200. The default value is 200. This helps manage data transfer efficiency.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_customer_debit_notes'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCustomerDebitNotes", - "parameters": { - "organization_identifier": { - "value": "ORG-1234567890", - "type": "string", - "required": true - }, - "search_item_name": { - "value": "item_name_contains:Widget", - "type": "string", - "required": false - }, - "search_by_item_id": { - "value": "ITEM-98765", - "type": "string", - "required": false - }, - "item_description_filter": { - "value": "item_description_contains:replacement part", - "type": "string", - "required": false - }, - "search_by_customer_name": { - "value": "Acme Corporation", - "type": "string", - "required": false - }, - "customer_email_filter": { - "value": "billing@acme.example.com", - "type": "string", - "required": false - }, - "search_by_total_amount": { - "value": "min:100.00,max:500.00", - "type": "string", - "required": false - }, - "search_by_outstanding_balance": { - "value": "greater_than:50.00", - "type": "string", - "required": false - }, - "search_by_custom_field": { - "value": "custom_field_contains:VIP", - "type": "string", - "required": false - }, - "search_date_range": { - "value": "date_start:2026-01-01,date_end:2026-01-31", - "type": "string", - "required": false - }, - "filter_due_date": { - "value": "due_date_start:2026-02-01,due_date_end:2026-02-28", - "type": "string", - "required": false - }, - "creation_date_filter": { - "value": "created_date_start:2025-12-01,created_date_end:2026-01-31", - "type": "string", - "required": false - }, - "last_modified_timestamp": { - "value": "2026-02-15T08:30:00Z", - "type": "string", - "required": false - }, - "status_filter": { - "value": "overdue", - "type": "string", - "required": false - }, - "search_by_customer_id": { - "value": "CUST-1001", - "type": "string", - "required": false - }, - "filter_by_debit_note_type": { - "value": "Type.DebitNote", - "type": "string", - "required": false - }, - "general_search_text": { - "value": "PO12345", - "type": "string", - "required": false - }, - "sort_debit_notes_by_column": { - "value": "due_date", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCustomerPaymentRefunds", - "qualifiedName": "ZohoBooksApi.ListCustomerPaymentRefunds", - "fullyQualifiedName": "ZohoBooksApi.ListCustomerPaymentRefunds@1.0.0", - "description": "Retrieve refunds for a specified customer payment.\n\nUse this tool to list all refunds related to a particular customer payment by providing the customer payment ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization. Required to specify which organization's data to access.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_payment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the customer payment to retrieve associated refunds.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specify the page number to fetch. Defaults to 1 if not provided.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Defaults to 200 if not specified.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_customer_payment_refunds'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCustomerPaymentRefunds", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "customer_payment_identifier": { - "value": "CPAY-00012345", - "type": "string", - "required": true - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCustomerPayments", - "qualifiedName": "ZohoBooksApi.ListCustomerPayments", - "fullyQualifiedName": "ZohoBooksApi.ListCustomerPayments@1.0.0", - "description": "List all payments made by your customers.\n\nUse this tool to retrieve a list of all the payments made by your customers. It is useful for financial analysis, reconciliation, or customer support purposes.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization. Required to specify which organization's payments to list.", - "enum": null, - "inferrable": true - }, - { - "name": "search_customer_name", - "type": "string", - "required": false, - "description": "Filter payments by customer name using 'startswith' or 'contains' variants. Max length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_reference_number", - "type": "string", - "required": false, - "description": "Search payments by reference number. Supports 'startswith' and 'contains' variants. Max-length 100.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_date", - "type": "string", - "required": false, - "description": "Specify the date of the customer payment in YYYY-MM-DD format to filter results.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_amount_filter", - "type": "number", - "required": false, - "description": "Filter payments by amount using variants: less_than, less_equals, greater_than, or greater_equals.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_customer_notes", - "type": "string", - "required": false, - "description": "Search payments using customer notes, supporting 'startswith' and 'contains' variants.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_mode_filter", - "type": "string", - "required": false, - "description": "Filter payments by specifying the payment mode. Use 'startswith' or 'contains' for partial matching.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_payments_by_mode", - "type": "string", - "required": false, - "description": "Filter payments by the payment mode. Accepted values include: All, Check, Cash, BankTransfer, Paypal, CreditCard, GoogleCheckout, Credit, Authorizenet, BankRemittance, Payflowpro, Stripe, TwoCheckout, Braintree, Others.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_column", - "type": "string", - "required": false, - "description": "Specify the column to sort the payments by. Common options include date, amount, or customer name.", - "enum": null, - "inferrable": true - }, - { - "name": "search_term_for_payments", - "type": "string", - "required": false, - "description": "Search payments by reference number, customer name, or payment description. Maximum length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_id", - "type": "string", - "required": false, - "description": "The unique identifier for the customer involved in the payment. Use this to target specific customer transactions.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "The page number of payment records to be retrieved. Defaults to 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to be fetched per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_customer_payments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCustomerPayments", - "parameters": { - "organization_id": { - "value": "9876543210", - "type": "string", - "required": true - }, - "search_customer_name": { - "value": "Acme Corp", - "type": "string", - "required": false - }, - "search_by_reference_number": { - "value": "REF-2026-0001", - "type": "string", - "required": false - }, - "payment_date": { - "value": "2026-02-15", - "type": "string", - "required": false - }, - "payment_amount_filter": { - "value": 150.75, - "type": "integer", - "required": false - }, - "search_by_customer_notes": { - "value": "Invoice payment", - "type": "string", - "required": false - }, - "payment_mode_filter": { - "value": "CreditCard", - "type": "string", - "required": false - }, - "filter_payments_by_mode": { - "value": "Stripe", - "type": "string", - "required": false - }, - "sort_column": { - "value": "date", - "type": "string", - "required": false - }, - "search_term_for_payments": { - "value": "INV-2026-100", - "type": "string", - "required": false - }, - "customer_id": { - "value": "CUST-00012345", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListCustomModuleRecords", - "qualifiedName": "ZohoBooksApi.ListCustomModuleRecords", - "fullyQualifiedName": "ZohoBooksApi.ListCustomModuleRecords@1.0.0", - "description": "Fetches records from a specified custom module.\n\nUse this tool to retrieve the list of records from a specific custom module in Zoho Books. Provide the module name to get the corresponding records.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the Zoho organization to fetch records from.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_module_name", - "type": "string", - "required": true, - "description": "Name of the custom module from which to retrieve records in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.custommodules.ALL" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_records_of_custom_module'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListCustomModuleRecords", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "custom_module_name": { - "value": "ProjectTasks", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListEstimates", - "qualifiedName": "ZohoBooksApi.ListEstimates", - "fullyQualifiedName": "ZohoBooksApi.ListEstimates@1.0.0", - "description": "Retrieve a list of all estimates with pagination.\n\nUse this tool to fetch all estimates, including pagination information, from Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Specifies the ID of the organization to filter the estimates.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_number_filter", - "type": "string", - "required": false, - "description": "Specify an estimate number or use variants like 'startswith' or 'contains' for partial matching to filter estimates.", - "enum": null, - "inferrable": true - }, - { - "name": "reference_number_filter", - "type": "string", - "required": false, - "description": "Filter or search estimates by their reference number. Supports partial matches using 'startswith' and 'contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_name", - "type": "string", - "required": false, - "description": "Search estimates by customer's name with optional variants for partial matches, such as 'startswith' and 'contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "total_filter", - "type": "number", - "required": false, - "description": "Specify a condition to search estimates by their total amount. Use variants like 'less_than', 'less_equals', 'greater_than', and 'greater_equals' for range queries.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_customer_id", - "type": "string", - "required": false, - "description": "Filter or search estimates using the unique customer ID. Use the `customer_id` provided by the Contacts API for the same organization to retrieve estimates linked to a specific customer.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_id", - "type": "string", - "required": false, - "description": "Filter or search estimates by the unique item ID. Use the item_id returned by the Items API for the same organization to find estimates including a specific product or service.", - "enum": null, - "inferrable": true - }, - { - "name": "item_name_filter", - "type": "string", - "required": false, - "description": "Search estimates by item name. Supports variants like 'item_name_startswith' and 'item_name_contains' for partial matches.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_item_description", - "type": "string", - "required": false, - "description": "Search estimates by item description. Use variants 'item_description_startswith' and 'item_description_contains' for pattern matching.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_custom_field", - "type": "string", - "required": false, - "description": "Search estimates by a custom field, supporting variants like 'startswith' or 'contains' for partial matches. Useful for identifying estimates linked to specific custom data.", - "enum": null, - "inferrable": true - }, - { - "name": "expiry_date", - "type": "string", - "required": false, - "description": "Specify the expiration date of the estimates to filter the results. Use the format YYYY-MM-DD.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_date_filter", - "type": "string", - "required": false, - "description": "Search estimates by date using variants like 'date_start', 'date_end', 'date_before', or 'date_after'.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_status_filter", - "type": "string", - "required": false, - "description": "Filter estimates by status. Allowed values: draft, sent, invoiced, accepted, declined, expired.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_estimates_by_status", - "type": "string", - "required": false, - "description": "Specify the status to filter estimates. Allowed values: Status.All, Status.Sent, Status.Draft, Status.Invoiced, Status.Accepted, Status.Declined, Status.Expired.", - "enum": null, - "inferrable": true - }, - { - "name": "keyword_search", - "type": "string", - "required": false, - "description": "Keyword search across estimate number, reference number, or customer name to quickly find matching estimates.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_estimates_by_column", - "type": "string", - "required": false, - "description": "Specify the column to sort estimates by. Options: customer_name, estimate_number, date, total, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "deal_potential_id", - "type": "integer", - "required": false, - "description": "Potential ID of a Deal in CRM. Use this to filter estimates linked to specific deals.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specify the page number to fetch. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_estimates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListEstimates", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "estimate_number_filter": { - "value": "contains:EST-100", - "type": "string", - "required": false - }, - "reference_number_filter": { - "value": "startswith:REF-", - "type": "string", - "required": false - }, - "customer_name": { - "value": "contains:Acme Corp", - "type": "string", - "required": false - }, - "total_filter": { - "value": "greater_equals:5000", - "type": "integer", - "required": false - }, - "filter_by_customer_id": { - "value": "789012345", - "type": "string", - "required": false - }, - "filter_by_item_id": { - "value": "456789012", - "type": "string", - "required": false - }, - "item_name_filter": { - "value": "item_name_startswith:Hosting", - "type": "string", - "required": false - }, - "search_by_item_description": { - "value": "item_description_contains:premium support", - "type": "string", - "required": false - }, - "search_by_custom_field": { - "value": "contains:projectX", - "type": "string", - "required": false - }, - "expiry_date": { - "value": "2026-03-31", - "type": "string", - "required": false - }, - "estimate_date_filter": { - "value": "date_start:2026-01-01,date_end:2026-01-31", - "type": "string", - "required": false - }, - "estimate_status_filter": { - "value": "sent", - "type": "string", - "required": false - }, - "filter_estimates_by_status": { - "value": "Status.Sent", - "type": "string", - "required": false - }, - "keyword_search": { - "value": "Acme 2026", - "type": "string", - "required": false - }, - "sort_estimates_by_column": { - "value": "date", - "type": "string", - "required": false - }, - "deal_potential_id": { - "value": 987654321, - "type": "integer", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListExpenses", - "qualifiedName": "ZohoBooksApi.ListExpenses", - "fullyQualifiedName": "ZohoBooksApi.ListExpenses@1.0.0", - "description": "Retrieve a list of expenses with pagination.\n\nUse this tool to get a paginated list of all expenses recorded in the system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique identifier for the organization whose expenses are being queried.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_description", - "type": "string", - "required": false, - "description": "Search expenses by description, supports 'description_startswith' and 'description_contains'. Max-length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_reference_number", - "type": "string", - "required": false, - "description": "Search expenses by part or complete reference number using 'startswith' or 'contains'. Max-length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_date", - "type": "string", - "required": false, - "description": "Search expenses by expense date. Use variants: date_start, date_end, date_before, or date_after. Format [yyyy-mm-dd].", - "enum": null, - "inferrable": true - }, - { - "name": "expense_status", - "type": "string", - "required": false, - "description": "Search expenses by status. Allowed values: unbilled, invoiced, reimbursed, non-billable, billable.", - "enum": null, - "inferrable": true - }, - { - "name": "amount_filter", - "type": "number", - "required": false, - "description": "Search expenses by amount using the variants: less_than, less_equals, greater_than, or greater_equals.", - "enum": null, - "inferrable": true - }, - { - "name": "search_expense_account_name", - "type": "string", - "required": false, - "description": "Search expenses by account name. Use 'startswith:' or 'contains:'. Max length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_name_filter", - "type": "string", - "required": false, - "description": "Filter expenses by customer name. Supports 'startswith' and 'contains' variants. Max length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_name_filter", - "type": "string", - "required": false, - "description": "Filter expenses by vendor name using 'vendor_name_startswith' or 'vendor_name_contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_account_customer_id", - "type": "string", - "required": false, - "description": "The ID of the expense account for the customer. Use this to filter expenses specific to a customer's account.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_id", - "type": "string", - "required": false, - "description": "ID of the vendor associated with the expense.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_expense_id", - "type": "string", - "required": false, - "description": "The ID used to search for expenses associated with a recurring expense.", - "enum": null, - "inferrable": true - }, - { - "name": "paid_through_account_id", - "type": "string", - "required": false, - "description": "The ID of the account through which the expense was paid.", - "enum": null, - "inferrable": true - }, - { - "name": "search_expenses_text", - "type": "string", - "required": false, - "description": "Search expenses by account name, description, customer name, or vendor name. Maximum length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_expenses_by", - "type": "string", - "required": false, - "description": "Sort expenses by the specified column. Allowed values: date, account_name, total, bcy_total, reference_number, customer_name, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_status_filter", - "type": "string", - "required": false, - "description": "Filter expenses by status. Allowed values: 'Status.All', 'Status.Billable', 'Status.Nonbillable', 'Status.Reimbursed', 'Status.Invoiced', 'Status.Unbilled'.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Page number to fetch, with the default starting at 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of expense records to fetch per page. Defaults to 200 if not specified.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_expenses'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListExpenses", - "parameters": { - "organization_id": { - "value": "61234567890", - "type": "string", - "required": true - }, - "search_by_description": { - "value": "description_contains:meeting with client", - "type": "string", - "required": false - }, - "search_by_reference_number": { - "value": "contains:EXP-2024-", - "type": "string", - "required": false - }, - "filter_by_date": { - "value": "date_start:2024-01-01,date_end:2024-12-31", - "type": "string", - "required": false - }, - "expense_status": { - "value": "billable", - "type": "string", - "required": false - }, - "amount_filter": { - "value": "greater_than:150.00", - "type": "integer", - "required": false - }, - "search_expense_account_name": { - "value": "startswith:Office Supplies", - "type": "string", - "required": false - }, - "customer_name_filter": { - "value": "startswith:Acme Corporation", - "type": "string", - "required": false - }, - "vendor_name_filter": { - "value": "vendor_name_contains:Staples", - "type": "string", - "required": false - }, - "expense_account_customer_id": { - "value": "9876543210", - "type": "string", - "required": false - }, - "vendor_id": { - "value": "555666777", - "type": "string", - "required": false - }, - "recurring_expense_id": { - "value": "recurr_12345", - "type": "string", - "required": false - }, - "paid_through_account_id": { - "value": "acc_998877", - "type": "string", - "required": false - }, - "search_expenses_text": { - "value": "office supplies meeting", - "type": "string", - "required": false - }, - "sort_expenses_by": { - "value": "date", - "type": "string", - "required": false - }, - "expense_status_filter": { - "value": "Status.Billable", - "type": "string", - "required": false - }, - "page_number": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListInventoryLocations", - "qualifiedName": "ZohoBooksApi.ListInventoryLocations", - "fullyQualifiedName": "ZohoBooksApi.ListInventoryLocations@1.0.0", - "description": "Retrieve all available locations from Zoho Inventory.\n\nUse this tool to get a comprehensive list of all the available locations in your Zoho Inventory. It should be called when you need to access inventory location details.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_locations'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListInventoryLocations", - "parameters": { - "organization_id": { - "value": "679012345678945", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListInvoiceTemplates", - "qualifiedName": "ZohoBooksApi.ListInvoiceTemplates", - "fullyQualifiedName": "ZohoBooksApi.ListInvoiceTemplates@1.0.0", - "description": "Fetch all invoice PDF templates from Zoho Books.\n\nThis tool retrieves a list of all available invoice PDF templates in Zoho Books. Use this to access template options for invoices.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to fetch invoice templates for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_invoice_templates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListInvoiceTemplates", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListOrganizations", - "qualifiedName": "ZohoBooksApi.ListOrganizations", - "fullyQualifiedName": "ZohoBooksApi.ListOrganizations@1.0.0", - "description": "Retrieve the list of organizations from Zoho Books.\n\nUse this tool to obtain a list of all organizations associated with the user's Zoho Books account. It is useful for managing and accessing organization-specific data or settings.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization to list details for.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_organizations'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListOrganizations", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListProjectInvoices", - "qualifiedName": "ZohoBooksApi.ListProjectInvoices", - "fullyQualifiedName": "ZohoBooksApi.ListProjectInvoices@1.0.0", - "description": "Retrieve invoices for a specific project in Zoho Books.\n\nCall this endpoint to obtain a list of all invoices associated with a particular project within Zoho Books. This tool is useful when you need to review or manage billing details for project-based work.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. This is required to access the specific organization's project invoices.", - "enum": null, - "inferrable": true - }, - { - "name": "project_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the specific project to retrieve invoices for.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_invoices_by", - "type": "string", - "required": false, - "description": "Specify the column to sort invoices by. Options are: 'invoice_number', 'date', 'total', 'balance', 'created_time'.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "Specify the page number to retrieve from the list of invoices. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "The number of invoice records to fetch per page. Defaults to 200 if not specified.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_project_invoices'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListProjectInvoices", - "parameters": { - "organization_identifier": { - "value": "org_9876543210", - "type": "string", - "required": true - }, - "project_unique_identifier": { - "value": "proj_abc123", - "type": "string", - "required": true - }, - "sort_invoices_by": { - "value": "date", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListProjects", - "qualifiedName": "ZohoBooksApi.ListProjects", - "fullyQualifiedName": "ZohoBooksApi.ListProjects@1.0.0", - "description": "Retrieve a list of all projects with pagination.\n\nThis tool is used to get a list of all projects from Zoho Books, with support for pagination. Call this tool to retrieve project data when managing tasks or resources.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which to list projects.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_projects_by_status", - "type": "string", - "required": false, - "description": "Filter projects by status. Use Status.All, Status.Active, or Status.Inactive.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_customer_id", - "type": "string", - "required": false, - "description": "Search projects using the customer's ID to filter results.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_projects_by", - "type": "string", - "required": false, - "description": "Sort projects by project name, customer name, rate, or created time.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specify the page number to retrieve. Defaults to 1 if not specified.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Defaults to 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_projects'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListProjects", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "filter_projects_by_status": { - "value": "Status.Active", - "type": "string", - "required": false - }, - "search_by_customer_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "sort_projects_by": { - "value": "project_name", - "type": "string", - "required": false - }, - "page_number": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListProjectUsers", - "qualifiedName": "ZohoBooksApi.ListProjectUsers", - "fullyQualifiedName": "ZohoBooksApi.ListProjectUsers@1.0.0", - "description": "Get a list of users associated with a project.\n\nUse this tool to retrieve users linked to a specific project in Zoho Books. This is useful for managing project collaborations and assignments.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID representing the organization in Zoho Books. Required to access project users.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the project to retrieve associated users.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_project_users'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListProjectUsers", - "parameters": { - "organization_id": { - "value": "874563210", - "type": "string", - "required": true - }, - "project_identifier": { - "value": "10000000000012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListPurchaseOrders", - "qualifiedName": "ZohoBooksApi.ListPurchaseOrders", - "fullyQualifiedName": "ZohoBooksApi.ListPurchaseOrders@1.0.0", - "description": "Retrieve a list of all purchase orders.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization to filter purchase orders.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_purchaseorder_number", - "type": "string", - "required": false, - "description": "Search purchase order by number. Supports exact, starts with, and contains variants.", - "enum": null, - "inferrable": true - }, - { - "name": "reference_number_search", - "type": "string", - "required": false, - "description": "Search for a purchase order using the exact or partial reference number. Supports 'startswith' and 'contains' methods.", - "enum": null, - "inferrable": true - }, - { - "name": "creation_date", - "type": "string", - "required": false, - "description": "Creation date for purchase order search in YYYY-MM-DD format.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_status", - "type": "string", - "required": false, - "description": "Filter purchase orders by status. Options: draft, open, billed, cancelled.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_item_description", - "type": "string", - "required": false, - "description": "Search purchase orders by item description. Use partial matches or specific description. Includes variants like 'startswith' and 'contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_name", - "type": "string", - "required": false, - "description": "Search purchase orders by vendor name with optional 'startswith' or 'contains' variants.", - "enum": null, - "inferrable": true - }, - { - "name": "total_amount_filter", - "type": "number", - "required": false, - "description": "Filter purchase orders by total amount. Use options like 'start', 'end', 'less_than', 'less_equals', 'greater_than', 'greater_equals' to specify the range or comparison.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_identifier", - "type": "string", - "required": false, - "description": "Specify the unique ID of the vendor to filter purchase orders. Useful for grouping POs by a specific vendor.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_last_modified_time", - "type": "string", - "required": false, - "description": "ISO 8601 format (YYYY-MM-DDTHH:MM:SS±HH:MM) to filter POs by last modified time. For finding recently updated POs.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_item_id", - "type": "string", - "required": false, - "description": "Search purchase orders using the unique item ID to find POs containing a specific item.", - "enum": null, - "inferrable": true - }, - { - "name": "status_filter", - "type": "string", - "required": false, - "description": "Filter purchase orders by status. Use 'Status.All', 'Status.Draft', 'Status.Open', 'Status.Billed', or 'Status.Cancelled'.", - "enum": null, - "inferrable": true - }, - { - "name": "search_purchase_order_text", - "type": "string", - "required": false, - "description": "Search for purchase orders by number, reference, or vendor name. Allows general searching across multiple fields for quick lookup.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Column to sort purchase orders by. Options: vendor_name, purchaseorder_number, date, delivery_date, total, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_custom_field", - "type": "string", - "required": false, - "description": "Search purchase orders using custom field criteria. Supports 'startswith' and 'contains' variants.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specify the page number to fetch, with a default value of 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specifies the number of purchase orders to retrieve per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_purchase_orders'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListPurchaseOrders", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "search_by_purchaseorder_number": { - "value": "PO-1001", - "type": "string", - "required": false - }, - "reference_number_search": { - "value": "REF-2025", - "type": "string", - "required": false - }, - "creation_date": { - "value": "2026-02-01", - "type": "string", - "required": false - }, - "purchase_order_status": { - "value": "open", - "type": "string", - "required": false - }, - "search_by_item_description": { - "value": "steel bolts", - "type": "string", - "required": false - }, - "vendor_name": { - "value": "Acme Supplies", - "type": "string", - "required": false - }, - "total_amount_filter": { - "value": 1500.75, - "type": "integer", - "required": false - }, - "vendor_identifier": { - "value": "vendor_98765", - "type": "string", - "required": false - }, - "search_by_last_modified_time": { - "value": "2026-02-15T14:30:00-05:00", - "type": "string", - "required": false - }, - "search_by_item_id": { - "value": "item_ABC123", - "type": "string", - "required": false - }, - "status_filter": { - "value": "Status.Open", - "type": "string", - "required": false - }, - "search_purchase_order_text": { - "value": "Acme 1001", - "type": "string", - "required": false - }, - "sort_by_column": { - "value": "date", - "type": "string", - "required": false - }, - "search_by_custom_field": { - "value": "contains:urgent", - "type": "string", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListRecurringExpenses", - "qualifiedName": "ZohoBooksApi.ListRecurringExpenses", - "fullyQualifiedName": "ZohoBooksApi.ListRecurringExpenses@1.0.0", - "description": "Retrieve all recurring expenses from your records.\n\nUse this tool to fetch a list of all recurring expenses. Ideal for situations where you need to review or manage periodic expenses systematically.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization whose recurring expenses need to be listed.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_expense_name_filter", - "type": "string", - "required": false, - "description": "Filter recurring expenses by name using either 'startswith' or 'contains'. Maximum length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_last_created_date", - "type": "string", - "required": false, - "description": "Filter recurring expenses based on last generated expense date. Use formats: last_created_date_start, last_created_date_end, last_created_date_before, last_created_date_after with date [yyyy-mm-dd].", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_next_expense_date", - "type": "string", - "required": false, - "description": "Filter recurring expenses by dates related to the next expected expense. Options include 'next_expense_date_start', 'next_expense_date_end', 'next_expense_date_before', and 'next_expense_date_after'. Format is 'yyyy-mm-dd'.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_status", - "type": "string", - "required": false, - "description": "Specify the status of expenses to search for. Allowed values are 'active', 'stopped', and 'expired'.", - "enum": null, - "inferrable": true - }, - { - "name": "account_id_for_expense", - "type": "string", - "required": false, - "description": "Specify the unique identifier for the expense account to filter expenses associated with it.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_account_name", - "type": "string", - "required": false, - "description": "Search expenses by account name with options for exact match or partial match using 'startswith' and 'contains'. Max-length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "amount_filter", - "type": "number", - "required": false, - "description": "Specify a filter for expense amounts, such as 'amount_less_than', 'amount_less_equals', 'amount_greater_than', or 'amount_greater_than'.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_customer_name", - "type": "string", - "required": false, - "description": "Search recurring expenses by customer name. Use variants 'customer_name_startswith' or 'customer_name_contains'. Max 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_customer_id", - "type": "string", - "required": false, - "description": "Specify the customer ID to search expenses associated with that customer.", - "enum": null, - "inferrable": true - }, - { - "name": "paid_through_account_id", - "type": "string", - "required": false, - "description": "ID of the account through which the expense was paid. Used to filter expenses.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_status_filter", - "type": "string", - "required": false, - "description": "Filter recurring expenses by their status. Use 'Status.All', 'Status.Active', 'Status.Expired', or 'Status.Stopped'.", - "enum": null, - "inferrable": true - }, - { - "name": "search_expenses_by_text", - "type": "string", - "required": false, - "description": "Specify text to search expenses by account name, description, customer name, or vendor name. Maximum length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_expenses_by_column", - "type": "string", - "required": false, - "description": "Specify the column to sort expenses by. Allowed values: next_expense_date, account_name, total, last_created_date, recurrence_name, customer_name, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "The page number of records to retrieve, starting from 1. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify how many records to retrieve per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_recurring_expenses'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListRecurringExpenses", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "recurring_expense_name_filter": { - "value": "contains:Subscription", - "type": "string", - "required": false - }, - "search_by_last_created_date": { - "value": "last_created_date_start=2024-01-01", - "type": "string", - "required": false - }, - "filter_by_next_expense_date": { - "value": "next_expense_date_before=2024-12-31", - "type": "string", - "required": false - }, - "expense_status": { - "value": "active", - "type": "string", - "required": false - }, - "account_id_for_expense": { - "value": "987654321", - "type": "string", - "required": false - }, - "filter_by_account_name": { - "value": "startswith:Office Supplies", - "type": "string", - "required": false - }, - "amount_filter": { - "value": 1500, - "type": "integer", - "required": false - }, - "search_by_customer_name": { - "value": "customer_name_contains=Acme Corp", - "type": "string", - "required": false - }, - "search_by_customer_id": { - "value": "CUST-00123", - "type": "string", - "required": false - }, - "paid_through_account_id": { - "value": "ACCT-555", - "type": "string", - "required": false - }, - "expense_status_filter": { - "value": "Status.Active", - "type": "string", - "required": false - }, - "search_expenses_by_text": { - "value": "monthly license", - "type": "string", - "required": false - }, - "sort_expenses_by_column": { - "value": "next_expense_date", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListRecurringInvoices", - "qualifiedName": "ZohoBooksApi.ListRecurringInvoices", - "fullyQualifiedName": "ZohoBooksApi.ListRecurringInvoices@1.0.0", - "description": "Retrieve details of all recurring invoices.\n\nUse this tool to get detailed information on all recurring invoices. Ideal for managing invoicing schedules and monitoring recurring payments.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization for which you want to list the recurring invoices. Required for accessing specific organization's data.", - "enum": null, - "inferrable": true - }, - { - "name": "recurrence_unique_name", - "type": "string", - "required": false, - "description": "Unique name for the recurring profile, provided by the user. Max-length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_item_name", - "type": "string", - "required": false, - "description": "Search recurring invoices by item name, using 'item_name_startswith' or 'profileitemname_contains' variants.", - "enum": null, - "inferrable": true - }, - { - "name": "item_description_filter", - "type": "string", - "required": false, - "description": "Search for recurring invoices by item description using 'startswith' or 'contains' criteria.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_name", - "type": "string", - "required": false, - "description": "Name of the customer for whom the recurring invoice is raised. Use this to filter invoices by customer.", - "enum": null, - "inferrable": true - }, - { - "name": "line_item_id", - "type": "string", - "required": false, - "description": "Specify the line item ID for filtering recurring invoices.", - "enum": null, - "inferrable": true - }, - { - "name": "item_id", - "type": "string", - "required": false, - "description": "Unique identifier for the item associated with the recurring invoice.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_identifier", - "type": "string", - "required": false, - "description": "ID of the tax or tax group associated with the recurring invoice.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_note", - "type": "string", - "required": false, - "description": "A short note for the recurring invoice, providing additional details or context.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_start_date", - "type": "string", - "required": false, - "description": "The date on which the recurring invoice starts. Format: YYYY-MM-DD.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_end_date", - "type": "string", - "required": false, - "description": "The date when the recurring invoice expires, formatted as YYYY-MM-DD.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_id", - "type": "string", - "required": false, - "description": "The ID of the customer for whom the recurring invoice is raised. Use this to filter invoices specific to a customer.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_status", - "type": "string", - "required": false, - "description": "Status of the recurring invoice: 'active', 'stopped', or 'expired'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_recurring_invoice_status", - "type": "string", - "required": false, - "description": "Filter recurring invoices by status or payment expected date. Allowed values: Status.All, Status.Active, Status.Stopped, Status.Expired.", - "enum": null, - "inferrable": true - }, - { - "name": "search_text", - "type": "string", - "required": false, - "description": "Search invoices by invoice number, purchase order, or customer name. Maximum length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Specify the column to sort the recurring invoices by. Leave empty for no sorting.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "The page number to fetch, with a default value of 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to retrieve per page, with a default of 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_recurring_invoices'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListRecurringInvoices", - "parameters": { - "organization_id": { - "value": "ORG_123456789", - "type": "string", - "required": true - }, - "recurrence_unique_name": { - "value": "monthly_website_hosting_profile", - "type": "string", - "required": false - }, - "search_by_item_name": { - "value": "item_name_startswith:Hosting", - "type": "string", - "required": false - }, - "item_description_filter": { - "value": "contains:maintenance", - "type": "string", - "required": false - }, - "customer_name": { - "value": "Acme Corporation", - "type": "string", - "required": false - }, - "line_item_id": { - "value": "LI_987654321", - "type": "string", - "required": false - }, - "item_id": { - "value": "ITM_12345", - "type": "string", - "required": false - }, - "tax_identifier": { - "value": "TAX_001", - "type": "string", - "required": false - }, - "invoice_note": { - "value": "Monthly hosting and maintenance fee", - "type": "string", - "required": false - }, - "recurring_invoice_start_date": { - "value": "2024-01-01", - "type": "string", - "required": false - }, - "recurring_invoice_end_date": { - "value": "2024-12-31", - "type": "string", - "required": false - }, - "customer_id": { - "value": "CUST_1001", - "type": "string", - "required": false - }, - "recurring_invoice_status": { - "value": "active", - "type": "string", - "required": false - }, - "filter_recurring_invoice_status": { - "value": "Status.Active", - "type": "string", - "required": false - }, - "search_text": { - "value": "INV-2024-", - "type": "string", - "required": false - }, - "sort_by_column": { - "value": "next_payment_date", - "type": "string", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListRetainerInvoices", - "qualifiedName": "ZohoBooksApi.ListRetainerInvoices", - "fullyQualifiedName": "ZohoBooksApi.ListRetainerInvoices@1.0.0", - "description": "List all retainer invoices with pagination.\n\nRetrieve a complete list of retainer invoices. Use this tool to access invoices with pagination support.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Specifies the column to sort retainer invoices by. Allowed values: 'customer_name', 'retainer_invoice_number', 'date', 'due_date', 'total', 'balance', 'created_time'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_invoices_by_status_or_date", - "type": "string", - "required": false, - "description": "Filter invoices by status or payment expected date. Valid values: Status.All, Status.Sent, Status.Draft, Status.OverDue, Status.Paid, Status.Void, Status.Unpaid, Status.PartiallyPaid, Status.Viewed, Date.PaymentExpectedDate.", - "enum": null, - "inferrable": true - }, - { - "name": "sorting_order", - "type": "string", - "required": false, - "description": "The order for sorting retainer invoices. Typically 'asc' for ascending or 'desc' for descending.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specifies the page number for pagination when listing retainer invoices.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - }, - { - "name": "print_pdf", - "type": "boolean", - "required": false, - "description": "Set to true to print the exported PDF of retainer invoices.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_retainer_invoices'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListRetainerInvoices", - "parameters": { - "organization_id": { - "value": "603f1a2b4d5e6f7a8b9c0d1e", - "type": "string", - "required": true - }, - "sort_by_column": { - "value": "date", - "type": "string", - "required": false - }, - "filter_invoices_by_status_or_date": { - "value": "Status.Unpaid", - "type": "string", - "required": false - }, - "sorting_order": { - "value": "desc", - "type": "string", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - }, - "print_pdf": { - "value": false, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListSalesOrders", - "qualifiedName": "ZohoBooksApi.ListSalesOrders", - "fullyQualifiedName": "ZohoBooksApi.ListSalesOrders@1.0.0", - "description": "Retrieve a list of all sales orders.\n\nUse this tool to get a complete list of sales orders. It helps in managing and reviewing sales transactions efficiently.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization for which sales orders are to be listed.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_column", - "type": "string", - "required": false, - "description": "Column field to sort sales order results. Options: customer_name, salesorder_number, shipment_date, last_modified_time, reference_number, total, date, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "cross_field_search_text", - "type": "string", - "required": false, - "description": "A general search term for matching text across fields like sales order number, reference number, and customer name for quick identification.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_sales_order_by_status", - "type": "string", - "required": false, - "description": "Filter sales orders by status. Options: All, Open, Draft, OverDue, PartiallyInvoiced, Invoiced, Void, Closed.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_sales_order_number", - "type": "string", - "required": false, - "description": "Filter sales orders by sales order number with operators: startswith, not_in, in, or contains. Max length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_name", - "type": "string", - "required": false, - "description": "Filter sales orders by line item name. Use matching operators like startswith, not_in, in, and contains. Max length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_id", - "type": "string", - "required": false, - "description": "Filter sales orders by a specific line item identifier to retrieve orders containing a particular product or service.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_description", - "type": "string", - "required": false, - "description": "Filter sales orders by line item description. Supports variants like startswith, not_in, in, and contains. Max length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_reference_number", - "type": "string", - "required": false, - "description": "Filter sales orders by external reference number using operators like `startswith`, `not_in`, `in`, and `contains`.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_name_filter", - "type": "string", - "required": false, - "description": "Filter sales orders by customer name with operators like startswith, not_in, in, and contains. Max length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_total", - "type": "number", - "required": false, - "description": "Specify range operators to filter sales orders by total. Use total_start, total_end, total_less_than, total_greater_than, etc.", - "enum": null, - "inferrable": true - }, - { - "name": "creation_date_filter", - "type": "string", - "required": false, - "description": "Filter sales orders by creation date using operators like `date_start`, `date_end`, `date_before`, `date_after`. Format: `yyyy-mm-dd`.", - "enum": null, - "inferrable": true - }, - { - "name": "shipment_date_filter", - "type": "string", - "required": false, - "description": "Specify the shipment date filter for sales orders. Use variants such as 'shipment_date_start', 'shipment_date_end', 'shipment_date_before', and 'shipment_date_after' in 'yyyy-mm-dd' format.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_status", - "type": "string", - "required": false, - "description": "Filter sales orders by their status. Allowed values: draft, open, invoiced, partially_invoiced, void, and overdue.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_customer_id", - "type": "string", - "required": false, - "description": "Filter sales orders by specific customer ID. Retrieves orders associated with a customer for CRM and reporting.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_representative_id", - "type": "string", - "required": false, - "description": "Filter sales orders by specific sales representative ID for tracking and reporting purposes.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_ids", - "type": "string", - "required": false, - "description": "Comma-separated list of sales order IDs to filter results. Maximum length is 200 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "last_modified_time", - "type": "string", - "required": false, - "description": "Specify the last modified time of the sales order to filter results. Use the format 'yyyy-mm-dd'.", - "enum": null, - "inferrable": true - }, - { - "name": "response_format", - "type": "string", - "required": false, - "description": "Specifies the format for sales order details. Must be one of: json, csv, xml, xls, xlsx, pdf, jhtml, or html. Default is json.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_view_id", - "type": "string", - "required": false, - "description": "ID of the custom view to filter sales orders based on predefined criteria.", - "enum": null, - "inferrable": true - }, - { - "name": "deal_crm_potential_id", - "type": "integer", - "required": false, - "description": "Potential ID of a Deal in CRM. Used to filter sales orders associated with a specific deal.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specify the page number for retrieving paginated sales order results. Default is 1 for the first page.", - "enum": null, - "inferrable": true - }, - { - "name": "max_sales_orders_per_page", - "type": "integer", - "required": false, - "description": "Specify the maximum number of sales order records to return per page. Default is 200 for optimal performance and memory usage.", - "enum": null, - "inferrable": true - }, - { - "name": "enable_printing", - "type": "boolean", - "required": false, - "description": "Enable printing of the exported PDF. Use when 'accept' is set to 'pdf' and 'salesorder_ids' includes values.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_sales_orders'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListSalesOrders", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "sort_column": { - "value": "date", - "type": "string", - "required": false - }, - "cross_field_search_text": { - "value": "SO-1001", - "type": "string", - "required": false - }, - "filter_sales_order_by_status": { - "value": "Open", - "type": "string", - "required": false - }, - "filter_by_sales_order_number": { - "value": "contains:SO-1", - "type": "string", - "required": false - }, - "filter_by_item_name": { - "value": "startswith:Widget", - "type": "string", - "required": false - }, - "filter_by_item_id": { - "value": "SKU-98765", - "type": "string", - "required": false - }, - "filter_by_item_description": { - "value": "contains:premium", - "type": "string", - "required": false - }, - "filter_by_reference_number": { - "value": "in:REF100,REF101", - "type": "string", - "required": false - }, - "customer_name_filter": { - "value": "contains:Acme", - "type": "string", - "required": false - }, - "filter_by_total": { - "value": "total_start:100,total_end:1000", - "type": "integer", - "required": false - }, - "creation_date_filter": { - "value": "date_start:2025-01-01,date_end:2025-12-31", - "type": "string", - "required": false - }, - "shipment_date_filter": { - "value": "shipment_date_start:2025-06-01,shipment_date_end:2025-06-30", - "type": "string", - "required": false - }, - "sales_order_status": { - "value": "open", - "type": "string", - "required": false - }, - "filter_by_customer_id": { - "value": "CUST-00123", - "type": "string", - "required": false - }, - "sales_representative_id": { - "value": "SR-456", - "type": "string", - "required": false - }, - "sales_order_ids": { - "value": "SOID-1001,SOID-1002", - "type": "string", - "required": false - }, - "last_modified_time": { - "value": "2025-12-01", - "type": "string", - "required": false - }, - "response_format": { - "value": "json", - "type": "string", - "required": false - }, - "custom_view_id": { - "value": "CV-789", - "type": "string", - "required": false - }, - "deal_crm_potential_id": { - "value": 555, - "type": "integer", - "required": false - }, - "page_number": { - "value": 2, - "type": "integer", - "required": false - }, - "max_sales_orders_per_page": { - "value": 100, - "type": "integer", - "required": false - }, - "enable_printing": { - "value": false, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListSalesReceipts", - "qualifiedName": "ZohoBooksApi.ListSalesReceipts", - "fullyQualifiedName": "ZohoBooksApi.ListSalesReceipts@1.0.0", - "description": "Retrieve a list of all sales receipts.\n\nUse this tool to obtain a comprehensive list of all sales receipts. It should be called when there's a need to review or analyze sales transaction records.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to list sales receipts.", - "enum": null, - "inferrable": true - }, - { - "name": "search_receipt_by_number", - "type": "string", - "required": false, - "description": "Search for receipts using their unique number. Supports 'startswith' and 'contains' filters. Max length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_item_name", - "type": "string", - "required": false, - "description": "Search sales receipts by item name using 'startswith' or 'contains' variants. Maximum length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Specify the column to sort sales receipts by. Options: customer_name, receipt_number, date, total, created_time.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_sales_receipts_by_status", - "type": "string", - "required": false, - "description": "Filter sales receipts based on their status. Options include date ranges like 'ThisWeek', and statuses like 'Status.Draft'.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_identifier", - "type": "string", - "required": false, - "description": "Filter sales receipts by specific customer identifier. Provide the unique ID of the customer to retrieve their sales receipts.", - "enum": null, - "inferrable": true - }, - { - "name": "date_filter", - "type": "string", - "required": false, - "description": "Filter sales receipts by date using variants like date_start, date_end, date_before, and date_after. Use yyyy-mm-dd format.", - "enum": null, - "inferrable": true - }, - { - "name": "total_filter_options", - "type": "number", - "required": false, - "description": "Filter sales receipts using range operators like total_start, total_end, total_less_than, and total_greater_than. Expects a number specifying the total amount.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Specify the page number for retrieving paginated sales receipt results. Defaults to 1.", - "enum": null, - "inferrable": true - }, - { - "name": "max_records_per_page", - "type": "integer", - "required": false, - "description": "Specify the maximum number of sales receipt records to return per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_sales_receipts'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListSalesReceipts", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "search_receipt_by_number": { - "value": "startswith:SR-2025", - "type": "string", - "required": false - }, - "search_by_item_name": { - "value": "contains:Premium Widget", - "type": "string", - "required": false - }, - "sort_by_column": { - "value": "date", - "type": "string", - "required": false - }, - "filter_sales_receipts_by_status": { - "value": "Status.Draft", - "type": "string", - "required": false - }, - "customer_identifier": { - "value": "200000123456789", - "type": "string", - "required": false - }, - "date_filter": { - "value": "date_start:2025-01-01,date_end:2025-01-31", - "type": "string", - "required": false - }, - "total_filter_options": { - "value": 100, - "type": "integer", - "required": false - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "max_records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListTaxes", - "qualifiedName": "ZohoBooksApi.ListTaxes", - "fullyQualifiedName": "ZohoBooksApi.ListTaxes@1.0.0", - "description": "Retrieve a list of simple and compound taxes.\n\nUse this tool to get a list of simple and compound taxes available in the system, with options for pagination.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique ID of the organization to list taxes for.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Page number of the tax list to retrieve. Defaults to 1 if not specified.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "The number of tax records to retrieve per page. Defaults to 200 if not specified.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_taxes'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListTaxes", - "parameters": { - "organization_id": { - "value": "672314567890123456", - "type": "string", - "required": true - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListTimeEntries", - "qualifiedName": "ZohoBooksApi.ListTimeEntries", - "fullyQualifiedName": "ZohoBooksApi.ListTimeEntries@1.0.0", - "description": "Retrieve all time entries with pagination.\n\nCall this tool to get a list of all time entries for projects, supporting pagination if needed.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. Required to retrieve time entries specific to this organization.", - "enum": null, - "inferrable": true - }, - { - "name": "start_date_for_time_entries", - "type": "string", - "required": false, - "description": "Date from which the time entries should start being fetched. Expected format is YYYY-MM-DD.", - "enum": null, - "inferrable": true - }, - { - "name": "end_date_for_time_entries", - "type": "string", - "required": false, - "description": "The end date for fetching logged time entries in YYYY-MM-DD format.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_time_entries_by", - "type": "string", - "required": false, - "description": "Filter time entries by date or status. Use values like Date.Today, Date.ThisMonth, Status.Unbilled, etc.", - "enum": null, - "inferrable": true - }, - { - "name": "project_id", - "type": "string", - "required": false, - "description": "Search for time entries by specifying the project ID.", - "enum": null, - "inferrable": true - }, - { - "name": "search_time_entries_by_user_id", - "type": "string", - "required": false, - "description": "Search and filter time entries based on a specific user's ID. Provide the ID as a string.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_time_entries_by", - "type": "string", - "required": false, - "description": "Sort time entries by project name, task name, user name, log date, timer start time, or customer name.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "Page number to retrieve time entries from, starting at 1 by default.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Defaults to 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_time_entries'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListTimeEntries", - "parameters": { - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": true - }, - "start_date_for_time_entries": { - "value": "2026-01-01", - "type": "string", - "required": false - }, - "end_date_for_time_entries": { - "value": "2026-01-31", - "type": "string", - "required": false - }, - "filter_time_entries_by": { - "value": "Date.ThisMonth", - "type": "string", - "required": false - }, - "project_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "search_time_entries_by_user_id": { - "value": "456123", - "type": "string", - "required": false - }, - "sort_time_entries_by": { - "value": "log_date", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListVendorCreditRefunds", - "qualifiedName": "ZohoBooksApi.ListVendorCreditRefunds", - "fullyQualifiedName": "ZohoBooksApi.ListVendorCreditRefunds@1.0.0", - "description": "Retrieve all refunds for a specified vendor credit.\n\nUse this tool to get a list of all refunds associated with a particular vendor credit by providing the vendor credit ID.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "Unique string ID of the organization for which refunds are to be listed.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_id", - "type": "string", - "required": true, - "description": "The unique identifier for a specific vendor credit whose refunds are to be listed.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Page number for pagination, specifying which set of results to retrieve. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of refunds to return per page for pagination. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_vendor_credit_refunds'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListVendorCreditRefunds", - "parameters": { - "organization_identifier": { - "value": "ORG_987654321", - "type": "string", - "required": true - }, - "vendor_credit_id": { - "value": "VC-2026-00045", - "type": "string", - "required": true - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListVendorCredits", - "qualifiedName": "ZohoBooksApi.ListVendorCredits", - "fullyQualifiedName": "ZohoBooksApi.ListVendorCredits@1.0.0", - "description": "Retrieve and filter vendor credits from Zoho Books.\n\nRetrieve a paginated list of vendor credits using various filtering, sorting, and search capabilities, such as by date, status, amount, vendor details, items, taxes, and custom fields.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_number_filter", - "type": "string", - "required": false, - "description": "Filter vendor credits by specific vendor credit number. Supports partial matching with options like 'startswith' and 'contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_creation_date", - "type": "string", - "required": false, - "description": "Filter vendor credits by creation date using yyyy-mm-dd format. Supports date_start, date_end, date_before, and date_after for range filtering.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_status", - "type": "string", - "required": false, - "description": "Filter vendor credits by their current status. Allowed values: 'open', 'closed', 'void', or 'draft'.", - "enum": null, - "inferrable": true - }, - { - "name": "total_amount_filter", - "type": "string", - "required": false, - "description": "Filter vendor credits by total amount. Use variants: total_start, total_end, total_less_than, total_less_equals, total_greater_than, total_greater_equals.", - "enum": null, - "inferrable": true - }, - { - "name": "reference_number_filter", - "type": "string", - "required": false, - "description": "Filter vendor credits by their reference number, supporting 'startswith' and 'contains' for partial matches.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_vendor_name", - "type": "string", - "required": false, - "description": "Filter vendor credits by vendor name, supporting partial matches with 'startswith' and 'contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_name", - "type": "string", - "required": false, - "description": "Filter vendor credits by item name. Use 'startswith:' or 'contains:' as prefixes for partial matching.", - "enum": null, - "inferrable": true - }, - { - "name": "item_description_filter", - "type": "string", - "required": false, - "description": "Filter vendor credits by item description. Supports partial matching with 'startswith' and 'contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_notes_content", - "type": "string", - "required": false, - "description": "Filter vendor credits by notes content. Use partial matching with variants: notes_startswith or notes_contains.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_custom_field", - "type": "string", - "required": false, - "description": "Filter vendor credits by custom field values. Use 'custom_field_startswith' or 'custom_field_contains' for partial matching.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_last_modified_time", - "type": "string", - "required": false, - "description": "Filter vendor credits by last modified time using ISO 8601 format (yyyy-mm-ddThh:mm:ss-hh:mm).", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_customer_id", - "type": "integer", - "required": false, - "description": "Filter vendor credits by a specific customer ID to find credits associated with that customer. Retrieve customer IDs from the contacts API.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_line_item_id", - "type": "integer", - "required": false, - "description": "Filter vendor credits by a specific line item ID to find credits containing the item.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_item_id", - "type": "integer", - "required": false, - "description": "Filter vendor credits by a specific item ID. Use this to find vendor credits containing the item. Retrieve item IDs from the items API.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_tax_id", - "type": "integer", - "required": false, - "description": "Filter vendor credits by specific tax ID to find credits with that tax applied. Tax IDs are retrieved from the taxes API.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_status", - "type": "string", - "required": false, - "description": "Filter vendor credits by status using predefined values: Status.All, Status.Open, Status.Draft, Status.Closed, Status.Void.", - "enum": null, - "inferrable": true - }, - { - "name": "search_text", - "type": "string", - "required": false, - "description": "Enter text to search vendor credits by credit number, vendor name, and reference number.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Specify which column to sort vendor credits by. Options: vendor_name, vendor_credit_number, balance, total, date, created_time, last_modified_time, reference_number.", - "enum": null, - "inferrable": true - }, - { - "name": "pagination_page_number", - "type": "integer", - "required": false, - "description": "Specify the page number to retrieve results from for pagination. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "pagination_records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of vendor credit records to return per page. The default value is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_vendor_credits'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListVendorCredits", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "vendor_credit_number_filter": { - "value": "startswith:VC-2026", - "type": "string", - "required": false - }, - "filter_by_creation_date": { - "value": "date_start:2026-01-01,date_end:2026-01-31", - "type": "string", - "required": false - }, - "vendor_credit_status": { - "value": "open", - "type": "string", - "required": false - }, - "total_amount_filter": { - "value": "total_greater_than:1000.00", - "type": "string", - "required": false - }, - "reference_number_filter": { - "value": "contains:REF-2026", - "type": "string", - "required": false - }, - "filter_by_vendor_name": { - "value": "startswith:Acme Corp", - "type": "string", - "required": false - }, - "filter_by_item_name": { - "value": "contains:Widget", - "type": "string", - "required": false - }, - "item_description_filter": { - "value": "contains:premium quality", - "type": "string", - "required": false - }, - "filter_by_notes_content": { - "value": "notes_contains:refund approved", - "type": "string", - "required": false - }, - "filter_by_custom_field": { - "value": "custom_field_contains:Project X", - "type": "string", - "required": false - }, - "filter_by_last_modified_time": { - "value": "2026-02-10T15:30:00-05:00", - "type": "string", - "required": false - }, - "filter_by_customer_id": { - "value": 98765, - "type": "integer", - "required": false - }, - "filter_by_line_item_id": { - "value": 54321, - "type": "integer", - "required": false - }, - "filter_by_item_id": { - "value": 112233, - "type": "integer", - "required": false - }, - "filter_by_tax_id": { - "value": 77, - "type": "integer", - "required": false - }, - "filter_by_status": { - "value": "Status.Open", - "type": "string", - "required": false - }, - "search_text": { - "value": "VC-2026 Acme REF-2026", - "type": "string", - "required": false - }, - "sort_by_column": { - "value": "date", - "type": "string", - "required": false - }, - "pagination_page_number": { - "value": 2, - "type": "integer", - "required": false - }, - "pagination_records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListVendorPaymentRefunds", - "qualifiedName": "ZohoBooksApi.ListVendorPaymentRefunds", - "fullyQualifiedName": "ZohoBooksApi.ListVendorPaymentRefunds@1.0.0", - "description": "List all refunds for a vendor payment.\n\nRetrieve a list of all refunds associated with a specific vendor payment in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization in Zoho Books to list the refunds for. This should be a unique identifier as specified by Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor payment to fetch refunds for.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number", - "type": "integer", - "required": false, - "description": "Page number to be fetched, starting from 1. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Number of records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_vendor_payment_refunds'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListVendorPaymentRefunds", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "payment_identifier": { - "value": "5000123456789001", - "type": "string", - "required": true - }, - "page_number": { - "value": 1, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ListVendorPayments", - "qualifiedName": "ZohoBooksApi.ListVendorPayments", - "fullyQualifiedName": "ZohoBooksApi.ListVendorPayments@1.0.0", - "description": "Fetch all payments made to vendors.\n\nUse this tool to retrieve a list of all vendor payments. It helps manage and track financial transactions with vendors.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization whose vendor payments you want to list.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_name_query", - "type": "string", - "required": false, - "description": "Search payments by vendor name using parameters like startswith or contains.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_reference_number", - "type": "string", - "required": false, - "description": "Search payments using the reference number. Supports variants: 'startswith' and 'contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_number_search", - "type": "string", - "required": false, - "description": "Search payments using the payment number with options for exact match, starts with, or contains.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_date_filter", - "type": "string", - "required": false, - "description": "Specify the date for payment filtering. Use variants like 'date_start', 'date_end', 'date_before', and 'date_after'.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_amount_filter", - "type": "number", - "required": false, - "description": "Filter payments by amount paid to the vendor. Use variants: 'less_than', 'less_equals', 'greater_than', 'greater_equals' to specify the condition.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_payment_mode", - "type": "string", - "required": false, - "description": "Search payments by payment mode using variants like 'startswith' or 'contains'.", - "enum": null, - "inferrable": true - }, - { - "name": "search_with_payment_notes", - "type": "string", - "required": false, - "description": "Search payments using notes with options like startswith or contains.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_id", - "type": "string", - "required": false, - "description": "The unique ID of the vendor, used to search payments by vendor ID.", - "enum": null, - "inferrable": true - }, - { - "name": "last_modified_time_filter", - "type": "string", - "required": false, - "description": "Filter vendor payments by their last modified time. Use a date-time string in ISO 8601 format.", - "enum": null, - "inferrable": true - }, - { - "name": "search_payments_by_bill_id", - "type": "string", - "required": false, - "description": "Search payments using the specific Bill ID associated with the transaction.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_description", - "type": "string", - "required": false, - "description": "Search payments by description. Use 'description_startswith' or 'description_contains' variants for specific matches.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_payment_mode", - "type": "string", - "required": false, - "description": "Filter payments by payment mode. Options include All, Check, Cash, BankTransfer, Paypal, CreditCard, GoogleCheckout, Credit, Authorizenet, BankRemittance, Payflowpro, and Others.", - "enum": null, - "inferrable": true - }, - { - "name": "search_text", - "type": "string", - "required": false, - "description": "Search for payments using reference number, vendor name, or payment description.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_payments_by", - "type": "string", - "required": false, - "description": "Sort payments by column. Options: vendor_name, date, reference_number, amount, balance.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "Specify the page number of results to fetch. Default is 1.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "Specify the number of records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_vendor_payments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ListVendorPayments", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "vendor_name_query": { - "value": "startswith:Acme", - "type": "string", - "required": false - }, - "search_by_reference_number": { - "value": "contains:INV-2025", - "type": "string", - "required": false - }, - "payment_number_search": { - "value": "equals:PMT-1001", - "type": "string", - "required": false - }, - "payment_date_filter": { - "value": "date_start:2025-01-01,date_end:2025-01-31", - "type": "string", - "required": false - }, - "payment_amount_filter": { - "value": 1500, - "type": "integer", - "required": false - }, - "search_by_payment_mode": { - "value": "contains:Check", - "type": "string", - "required": false - }, - "search_with_payment_notes": { - "value": "contains:retainer", - "type": "string", - "required": false - }, - "vendor_id": { - "value": "VEND-98765", - "type": "string", - "required": false - }, - "last_modified_time_filter": { - "value": "2025-02-10T12:00:00Z", - "type": "string", - "required": false - }, - "search_payments_by_bill_id": { - "value": "BILL-54321", - "type": "string", - "required": false - }, - "search_by_description": { - "value": "description_contains:office supplies", - "type": "string", - "required": false - }, - "filter_payment_mode": { - "value": "BankTransfer", - "type": "string", - "required": false - }, - "search_text": { - "value": "Acme invoice", - "type": "string", - "required": false - }, - "sort_payments_by": { - "value": "date", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 100, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "LogTimeEntries", - "qualifiedName": "ZohoBooksApi.LogTimeEntries", - "fullyQualifiedName": "ZohoBooksApi.LogTimeEntries@1.0.0", - "description": "Log time entries in Zoho Books.\n\n Use this tool to log time entries for projects in Zoho Books. It should be called when you need to track time spent on project tasks.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. Required for logging time entries. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_time_entries'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.LogTimeEntries", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"time_entries\":[{\"project_id\":\"9876543210\",\"task_id\":\"112233\",\"user_id\":\"556677\",\"date\":\"2026-02-17\",\"hours\":2.5,\"billable\":true,\"notes\":\"Design review and revisions\",\"start_time\":\"09:00\",\"end_time\":\"11:30\"},{\"project_id\":\"9876543210\",\"task_id\":\"445566\",\"user_id\":\"556677\",\"date\":\"2026-02-17\",\"hours\":1.0,\"billable\":false,\"notes\":\"Team meeting\",\"start_time\":\"14:00\",\"end_time\":\"15:00\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkBillOpen", - "qualifiedName": "ZohoBooksApi.MarkBillOpen", - "fullyQualifiedName": "ZohoBooksApi.MarkBillOpen@1.0.0", - "description": "Mark a void bill as open in Zoho Books.\n\nUse this tool to change the status of a void bill to open in Zoho Books. Call this tool when you need to reactivate a bill that was previously voided.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the ID of the organization in Zoho Books to mark the bill as open.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bill to mark as open in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_bill_open'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkBillOpen", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bill_id": { - "value": "BILL-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkBillVoid", - "qualifiedName": "ZohoBooksApi.MarkBillVoid", - "fullyQualifiedName": "ZohoBooksApi.MarkBillVoid@1.0.0", - "description": "Mark a bill as void in Zoho Books.\n\nUse this tool to update the status of a bill to void in Zoho Books when you need to cancel or invalidate a bill.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. Used to specify which organization's bill should be marked as void.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the bill to mark as void in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_bill_void'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkBillVoid", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkContactInactive", - "qualifiedName": "ZohoBooksApi.MarkContactInactive", - "fullyQualifiedName": "ZohoBooksApi.MarkContactInactive@1.0.0", - "description": "Mark a Zoho Books contact as inactive.\n\nUse this tool to mark a contact as inactive in Zoho Books, allowing for better organization and active contact management.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the contact in Zoho Books. Required to specify which contact to mark as inactive.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_contact_inactive'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkContactInactive", - "parameters": { - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "contact_identifier": { - "value": "987654321098765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkCreditNoteOpen", - "qualifiedName": "ZohoBooksApi.MarkCreditNoteOpen", - "fullyQualifiedName": "ZohoBooksApi.MarkCreditNoteOpen@1.0.0", - "description": "Convert a draft credit note to open status in Zoho Books.\n\nUse this tool to change the status of a credit note from Draft to Open in Zoho Books. This is helpful when you need to activate a credit note that has been prepared and saved as a draft.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to be converted to Open status.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_credit_note_open'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkCreditNoteOpen", - "parameters": { - "organization_id": { - "value": "669453000000123456", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "669453000001234567", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkCreditNoteVoid", - "qualifiedName": "ZohoBooksApi.MarkCreditNoteVoid", - "fullyQualifiedName": "ZohoBooksApi.MarkCreditNoteVoid@1.0.0", - "description": "Marks a credit note as void in Zoho Books.\n\nUse this tool to mark a specific credit note as void, altering its status in the Zoho Books system.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books to mark the credit note as void.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to mark as void in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_credit_note_void'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkCreditNoteVoid", - "parameters": { - "organization_id": { - "value": "60234567890", - "type": "string", - "required": true - }, - "credit_note_identifier": { - "value": "CN-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkEstimateAsSent", - "qualifiedName": "ZohoBooksApi.MarkEstimateAsSent", - "fullyQualifiedName": "ZohoBooksApi.MarkEstimateAsSent@1.0.0", - "description": "Mark a draft estimate as sent.\n\nUse this tool to mark a draft estimate in Zoho Books as sent. Call this when you need to update the status of an estimate to indicate it has been sent to a client.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. Required to identify which organization's estimate to mark as sent.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the estimate to be marked as sent.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_estimate_sent'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkEstimateAsSent", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "estimate_identifier": { - "value": "EST-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkFixedAssetAsDraft", - "qualifiedName": "ZohoBooksApi.MarkFixedAssetAsDraft", - "fullyQualifiedName": "ZohoBooksApi.MarkFixedAssetAsDraft@1.0.0", - "description": "Set a fixed asset status to draft in Zoho Books.\n\nUse this tool to change the status of a specific fixed asset to draft in Zoho Books. This is useful when revising asset details or temporarily removing it from active use.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the fixed asset status will be changed.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the fixed asset in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_fixed_asset_draft'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkFixedAssetAsDraft", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "fixed_asset_identifier": { - "value": "FA-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkInvoiceAsDraft", - "qualifiedName": "ZohoBooksApi.MarkInvoiceAsDraft", - "fullyQualifiedName": "ZohoBooksApi.MarkInvoiceAsDraft@1.0.0", - "description": "Mark a voided invoice as draft in Zoho Books.\n\nThis tool is used to change the status of a voided invoice to draft in Zoho Books. It should be called when there is a need to edit or resubmit an invoice previously marked as void.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to be marked as draft.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_invoice_draft'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkInvoiceAsDraft", - "parameters": { - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkInvoiceAsSent", - "qualifiedName": "ZohoBooksApi.MarkInvoiceAsSent", - "fullyQualifiedName": "ZohoBooksApi.MarkInvoiceAsSent@1.0.0", - "description": "Mark a draft invoice as sent.\n\nUse this tool to change the status of a draft invoice to 'sent'. Ideal for when an invoice is ready to be sent out to a client.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique identifier of the organization for which the invoice will be marked as sent.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to be marked as sent.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_invoice_sent'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkInvoiceAsSent", - "parameters": { - "organization_id": { - "value": "ORG_6543210987", - "type": "string", - "required": true - }, - "invoice_unique_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkInvoiceSent", - "qualifiedName": "ZohoBooksApi.MarkInvoiceSent", - "fullyQualifiedName": "ZohoBooksApi.MarkInvoiceSent@1.0.0", - "description": "Marks a draft retainer invoice as sent.\n\nUse this tool to update the status of a draft retainer invoice to 'sent' in Zoho Books. This is useful when you need to track the invoice as having been dispatched to a client.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. This ID is necessary to specify which organization's invoice should be marked as sent.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice to be marked as sent.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_retainer_invoice_sent'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkInvoiceSent", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "987654321098765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkItemInactive", - "qualifiedName": "ZohoBooksApi.MarkItemInactive", - "fullyQualifiedName": "ZohoBooksApi.MarkItemInactive@1.0.0", - "description": "Mark an item as inactive in Zoho Books.\n\nUse this tool to mark an active item as inactive in Zoho Books. Useful for managing inventory and item status.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books. Required for specifying which organization's item to mark as inactive.", - "enum": null, - "inferrable": true - }, - { - "name": "item_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the item to be marked inactive.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_item_inactive'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkItemInactive", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "item_identifier": { - "value": "ITEM-ABC-123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkLocationInactive", - "qualifiedName": "ZohoBooksApi.MarkLocationInactive", - "fullyQualifiedName": "ZohoBooksApi.MarkLocationInactive@1.0.0", - "description": "Marks a specific location as inactive in Zoho Books.\n\nUse this tool to set a location's status to inactive within Zoho Books. This is helpful for managing locations that are no longer in use.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books to mark the location as inactive.", - "enum": null, - "inferrable": true - }, - { - "name": "location_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the location to be marked as inactive in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_location_inactive'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkLocationInactive", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "location_identifier": { - "value": "LOC-00123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkPrimaryContactPerson", - "qualifiedName": "ZohoBooksApi.MarkPrimaryContactPerson", - "fullyQualifiedName": "ZohoBooksApi.MarkPrimaryContactPerson@1.0.0", - "description": "Mark a contact person as primary for a contact.\n\nUse this tool to designate a specific contact person as the primary contact for a particular contact. Useful for managing contact hierarchies within an organization.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the organization. This is required to specify which organization's contact is being updated.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_person_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the contact person to be marked as primary.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_contact_person_primary'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkPrimaryContactPerson", - "parameters": { - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": true - }, - "contact_person_identifier": { - "value": "6543210000000123456", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkPurchaseOrderBilled", - "qualifiedName": "ZohoBooksApi.MarkPurchaseOrderBilled", - "fullyQualifiedName": "ZohoBooksApi.MarkPurchaseOrderBilled@1.0.0", - "description": "Mark a purchase order as billed in Zoho Books.\n\nUse this tool to update the status of a purchase order to 'billed' in Zoho Books. This is useful when a purchase order has been fulfilled and needs to be recorded as billed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization in Zoho Books. Required to perform actions within the specified organization.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the purchase order to be marked as billed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_purchase_order_billed'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkPurchaseOrderBilled", - "parameters": { - "organization_id": { - "value": "67234567890", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "PO-2026-000123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkRetainerInvoiceAsDraft", - "qualifiedName": "ZohoBooksApi.MarkRetainerInvoiceAsDraft", - "fullyQualifiedName": "ZohoBooksApi.MarkRetainerInvoiceAsDraft@1.0.0", - "description": "Mark a voided retainer invoice as draft.\n\nUse this tool to change the status of a voided retainer invoice back to draft. This is useful when you need to reuse or edit a voided invoice within Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice to be marked as draft.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_retainer_invoice_draft'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkRetainerInvoiceAsDraft", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "98765432123456789", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkSalesOrderAsVoid", - "qualifiedName": "ZohoBooksApi.MarkSalesOrderAsVoid", - "fullyQualifiedName": "ZohoBooksApi.MarkSalesOrderAsVoid@1.0.0", - "description": "Mark a sales order as void in Zoho Books.\n\n Use this tool to transition a specified sales order to a void status, effectively canceling it within Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": false, - "description": "Unique identifier for the specific sales order to be marked as void. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_sales_order_as_void'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkSalesOrderAsVoid", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60001234567", - "type": "string", - "required": false - }, - "sales_order_id": { - "value": "35900000000012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"reason\":\"Customer requested cancellation\",\"voided_date\":\"2026-02-18\",\"notes\":\"Voided due to duplicate order\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MarkVendorCreditVoid", - "qualifiedName": "ZohoBooksApi.MarkVendorCreditVoid", - "fullyQualifiedName": "ZohoBooksApi.MarkVendorCreditVoid@1.0.0", - "description": "Mark an existing vendor credit as void in Zoho Books.\n\nUse this tool to mark a specific vendor credit as void. Typically called when you need to invalidate a previously issued vendor credit in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the vendor credit to be marked as void.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_vendor_credit_void'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MarkVendorCreditVoid", - "parameters": { - "organization_id": { - "value": "543210987654321", - "type": "string", - "required": true - }, - "vendor_credit_identifier": { - "value": "VC-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "MatchBankTransaction", - "qualifiedName": "ZohoBooksApi.MatchBankTransaction", - "fullyQualifiedName": "ZohoBooksApi.MatchBankTransaction@1.0.0", - "description": "Match an uncategorized bank transaction with an existing one.\n\n Use this tool to match an uncategorized transaction with an existing transaction in Zoho Books, ensuring proper categorization and reconciliation.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": false, - "description": "Unique identifier of the bank transaction to be matched. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "account_id", - "type": "string", - "required": false, - "description": "The mandatory Account ID for listing transactions to match. This is required to specify the bank account in Zoho Books. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'match_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.MatchBankTransaction", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "bank_transaction_id": { - "value": "bt_9876543210", - "type": "string", - "required": false - }, - "account_id": { - "value": "acc_00112233", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"match_transaction_id\":\"txn_000123\",\"matched_amount\":150.00,\"match_date\":\"2026-02-15\",\"notes\":\"Matched uncategorized bank transaction to existing sales receipt txn_000123\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ModifyInvoice", - "qualifiedName": "ZohoBooksApi.ModifyInvoice", - "fullyQualifiedName": "ZohoBooksApi.ModifyInvoice@1.0.0", - "description": "Update an existing invoice in Zoho Books.\n\n This tool updates the information of an existing retainer invoice in Zoho Books. Use it when you need to modify invoice details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization within Zoho Books to which the retainer invoice belongs. This is required to ensure the update is applied to the correct entity. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": false, - "description": "Unique identifier of the retainer invoice to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_retainer_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ModifyInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "retainer_invoice_id": { - "value": "9876543210", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"54321\",\"date\":\"2026-02-01\",\"due_date\":\"2026-02-28\",\"reference_number\":\"RET-2026-001\",\"line_items\":[{\"item_id\":\"1001\",\"description\":\"Website maintenance retainer\",\"rate\":1500.00,\"quantity\":1}],\"notes\":\"Monthly retainer for ongoing support\",\"status\":\"draft\",\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Website Revamp\"}],\"discount\":0.0,\"adjustment\":0.0}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ModifyInvoiceAddress", - "qualifiedName": "ZohoBooksApi.ModifyInvoiceAddress", - "fullyQualifiedName": "ZohoBooksApi.ModifyInvoiceAddress@1.0.0", - "description": "Update the billing address for a specific invoice.\n\n Use this tool to update the billing address for a particular invoice in Zoho Books. It modifies the address details for a specified invoice.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique string ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the invoice to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_invoice_billing_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ModifyInvoiceAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "org_987654321", - "type": "string", - "required": false - }, - "invoice_identifier": { - "value": "inv_000123456", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"billing_address\":{\"attention\":\"Jane Smith\",\"address\":\"200 Market Street\",\"place\":\"Floor 5\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"phone\":\"+1-415-555-0150\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ModifyRecurringExpense", - "qualifiedName": "ZohoBooksApi.ModifyRecurringExpense", - "fullyQualifiedName": "ZohoBooksApi.ModifyRecurringExpense@1.0.0", - "description": "Update a recurring expense in Zoho Books.\n\n Use this tool to modify details of an existing recurring expense in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Provide the ID of the organization for which the recurring expense needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_expense_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the recurring expense to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_recurring_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ModifyRecurringExpense", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "recurring_expense_identifier": { - "value": "RECUR_EXP_98765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"recurring_expense\":{\"expense_number\":\"EXP-2026-001\",\"vendor_id\":\"VEND12345\",\"reference_number\":\"REF-789\",\"date\":\"2026-03-01\",\"frequency\":\"monthly\",\"repeat_every\":1,\"next_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"currency_id\":\"USD\",\"notes\":\"Updated recurring expense for software subscription.\",\"line_items\":[{\"account_id\":\"ACCT54321\",\"description\":\"Monthly subscription\",\"rate\":99.99,\"quantity\":1,\"tax_id\":\"TAX001\"}],\"is_inclusive_tax\":false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ModifyRetainerInvoiceTemplate", - "qualifiedName": "ZohoBooksApi.ModifyRetainerInvoiceTemplate", - "fullyQualifiedName": "ZohoBooksApi.ModifyRetainerInvoiceTemplate@1.0.0", - "description": "Update the PDF template for a retainer invoice.\n\nUse this tool to update the PDF template associated with a specific retainer invoice by providing the retainer invoice ID and the template ID. It should be called when you need to change the appearance or format of a retainer invoice.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The ID of the organization to update the retainer invoice template for. It should be a string representing the organization's unique identifier in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier for the retainer invoice to update the PDF template.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_template_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice template.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_retainer_invoice_template'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ModifyRetainerInvoiceTemplate", - "parameters": { - "organization_identifier": { - "value": "org_987654321", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "RI-2026-0001", - "type": "string", - "required": true - }, - "retainer_invoice_template_id": { - "value": "tmpl_5f3a9b2c", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "OpenPurchaseOrder", - "qualifiedName": "ZohoBooksApi.OpenPurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.OpenPurchaseOrder@1.0.0", - "description": "Mark a draft purchase order as open.\n\nUse this tool to change the status of a draft purchase order to 'open' in Zoho Books, making it active and processable. Call this when you need to activate draft purchase orders.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books whose purchase order status needs to be changed.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the purchase order to be marked as open.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_purchase_order_open'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.OpenPurchaseOrder", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "purchase_order_identifier": { - "value": "PO-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "OpenSalesOrder", - "qualifiedName": "ZohoBooksApi.OpenSalesOrder", - "fullyQualifiedName": "ZohoBooksApi.OpenSalesOrder@1.0.0", - "description": "Mark a draft sales order as open in Zoho Books.\n\nUse this tool to change the status of a draft sales order to open in Zoho Books. This is useful when a sales order needs to be moved from draft status to active status, indicating it's ready for further processing.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization where the sales order is to be marked as open.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order to mark as open in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_sales_order_as_open'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.OpenSalesOrder", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "OpenVendorCreditStatus", - "qualifiedName": "ZohoBooksApi.OpenVendorCreditStatus", - "fullyQualifiedName": "ZohoBooksApi.OpenVendorCreditStatus@1.0.0", - "description": "Change a vendor credit status to open in Zoho Books.\n\nUse this tool to update the status of an existing vendor credit to 'open' in Zoho Books. This is useful when you need to reactivate a vendor credit for further processing or adjustments.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books whose vendor credit status needs to be marked as open.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the vendor credit to be marked as open.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_vendor_credit_open'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.OpenVendorCreditStatus", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "vendor_credit_identifier": { - "value": "VC-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "PostProjectComment", - "qualifiedName": "ZohoBooksApi.PostProjectComment", - "fullyQualifiedName": "ZohoBooksApi.PostProjectComment@1.0.0", - "description": "Post a comment to a specified project.\n\n This tool posts a comment to a specific project in Zoho Books. Use it when you need to add a comment or note to a project for tracking or communication purposes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique identifier of the organization for which the comment is being posted. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "project_unique_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the project in Zoho Books. Required to specify the target project for adding a comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'add_project_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.PostProjectComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "org_987654321", - "type": "string", - "required": false - }, - "project_unique_identifier": { - "value": "proj_8f3b2a1c", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\":{\"content\":\"Completed initial milestone. Next: QA testing.\",\"is_private\":false,\"notify_users\":[\"alice@example.com\",\"bob@example.com\"]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "PublishDraftJournal", - "qualifiedName": "ZohoBooksApi.PublishDraftJournal", - "fullyQualifiedName": "ZohoBooksApi.PublishDraftJournal@1.0.0", - "description": "Mark a draft journal as published in Zoho Books.\n\nUse this tool to change the status of a draft journal entry to published within Zoho Books. This can be helpful when a draft is ready for final publication.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books. Required to identify the organization where the journal resides.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the journal to be marked as published.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_journal_published'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.PublishDraftJournal", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "journal_identifier": { - "value": "JNL-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RefundCreditNote", - "qualifiedName": "ZohoBooksApi.RefundCreditNote", - "fullyQualifiedName": "ZohoBooksApi.RefundCreditNote@1.0.0", - "description": "Process a credit note refund in Zoho Books.\n\n Use this tool to issue a refund for a specified credit note in Zoho Books. It is triggered when there's a need to reimburse the amount associated with a credit note.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization in Zoho Books for which the credit note refund is being processed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": false, - "description": "Unique identifier of the credit note to refund. This is required to specify which credit note the refund applies to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_credit_note_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RefundCreditNote", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "credit_note_id": { - "value": "CN-98765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"refund_account_id\":\"123456789\",\"refund_date\":\"2026-02-18\",\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"RT-2026-1001\",\"amount\":150.00,\"notes\":\"Refund issued for credit note overpayment\",\"is_partial_refund\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RefundExcessPayment", - "qualifiedName": "ZohoBooksApi.RefundExcessPayment", - "fullyQualifiedName": "ZohoBooksApi.RefundExcessPayment@1.0.0", - "description": "Refund the excess amount paid by a customer.\n\n Use this tool to refund any excess amount received from a customer payment. It is called when there is a need to process a refund for overpaid amounts in customer transactions.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization to process the refund under. Ensure this matches the ID in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_payment_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the customer's payment to be refunded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'create_customer_payment_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RefundExcessPayment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "customer_payment_identifier": { - "value": "PAYMENT_98765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"refund\": {\"amount\": 150.00, \"currency\": \"USD\", \"payment_mode\": \"Bank Transfer\", \"reference_number\": \"REF123456\", \"refund_date\": \"2026-02-18\", \"notes\": \"Refund for overpayment of invoice INV-1001\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RefundVendorCredit", - "qualifiedName": "ZohoBooksApi.RefundVendorCredit", - "fullyQualifiedName": "ZohoBooksApi.RefundVendorCredit@1.0.0", - "description": "Process a refund for vendor credit.\n\n Use this tool to initiate a refund for a specified vendor credit. Suitable when needing to refund amounts credited to a vendor.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization for which the vendor credit refund is being processed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the vendor credit that needs to be refunded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'refund_vendor_credit'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RefundVendorCredit", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6051234567890123456", - "type": "string", - "required": false - }, - "vendor_credit_identifier": { - "value": "VC-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_credit_refund\":{\"refund_date\":\"2026-02-15\",\"refund_amount\":150.00,\"bank_account_id\":\"1234567890\",\"payment_mode\":\"bank_transfer\",\"reference_number\":\"REF-2026-0001\",\"notes\":\"Refund for vendor credit VC-1001\",\"apply_to_transactions\":[{\"transaction_id\":\"TXN-2001\",\"amount_applied\":100.00},{\"transaction_id\":\"TXN-2002\",\"amount_applied\":50.00}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RefundVendorOverpayment", - "qualifiedName": "ZohoBooksApi.RefundVendorOverpayment", - "fullyQualifiedName": "ZohoBooksApi.RefundVendorOverpayment@1.0.0", - "description": "Refund excess amount paid to a vendor.\n\n Use this tool to process a refund for any excess amount that has been paid to a vendor. This should be called when an overpayment needs to be returned to the vendor.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID representing the organization. Required to refund vendor overpayment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_payment_id", - "type": "string", - "required": false, - "description": "Unique identifier for the vendor payment to be refunded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'refund_excess_vendor_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RefundVendorOverpayment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "ORG_112233", - "type": "string", - "required": false - }, - "vendor_payment_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"VENDOR123\",\"payment_id\":\"987654321\",\"refund_date\":\"2025-01-15\",\"amount\":150.00,\"currency_code\":\"USD\",\"account_id\":\"ACC789\",\"refund_mode\":\"Bank Transfer\",\"reference_number\":\"REF-20250115\",\"notes\":\"Refund of overpayment\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RejectPurchaseOrder", - "qualifiedName": "ZohoBooksApi.RejectPurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.RejectPurchaseOrder@1.0.0", - "description": "Reject a specific purchase order in Zoho Books.\n\nThis tool should be called when you need to reject a purchase order in the Zoho Books system. It confirms the rejection of the specified purchase order.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "A unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "The ID of the purchase order to be rejected in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'reject_purchase_orders'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RejectPurchaseOrder", - "parameters": { - "organization_identifier": { - "value": "org_123456789", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "PO-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RemindCustomerInvoicePayment", - "qualifiedName": "ZohoBooksApi.RemindCustomerInvoicePayment", - "fullyQualifiedName": "ZohoBooksApi.RemindCustomerInvoicePayment@1.0.0", - "description": "Remind customers of unpaid invoices by email.\n\n Use this tool to notify customers about unpaid invoices through email. It works for invoices that are open or overdue.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. It specifies which organization's invoice reminders to manage. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the invoice to send a payment reminder for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "email_attachments", - "type": "string", - "required": false, - "description": "Comma-separated list of file URLs to attach to the reminder email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "include_customer_statement_pdf", - "type": "boolean", - "required": false, - "description": "Set to true to include a customer statement PDF with the email reminder. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'remind_customer_for_invoice_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RemindCustomerInvoicePayment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "invoice_identifier": { - "value": "INV-1001", - "type": "string", - "required": false - }, - "email_attachments": { - "value": "https://files.acme.example.com/terms.pdf,https://files.acme.example.com/invoice-attachments/INV-1001.pdf", - "type": "string", - "required": false - }, - "include_customer_statement_pdf": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"subject\":\"Payment reminder for Invoice INV-1001\",\"message\":\"Dear Customer,\\n\\nThis is a friendly reminder that invoice INV-1001 for $1,250.00 is due on 2026-03-01. Please make the payment at your earliest convenience.\\n\\nThank you,\\nAcme Corp\",\"send_immediately\":true,\"reminder_date\":\"2026-02-18\",\"cc_emails\":[\"accounting@acme.example.com\"],\"notes\":\"First reminder via email\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RemoveCurrency", - "qualifiedName": "ZohoBooksApi.RemoveCurrency", - "fullyQualifiedName": "ZohoBooksApi.RemoveCurrency@1.0.0", - "description": "Remove a specific currency from the system.\n\nThis tool deletes a currency. It should be used when a currency that is no longer needed should be removed, as long as it is not associated with any transactions.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID representing the organization for which the currency deletion is requested.", - "enum": null, - "inferrable": true - }, - { - "name": "currency_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the currency to be deleted.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_currency'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RemoveCurrency", - "parameters": { - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "currency_identifier": { - "value": "EUR", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RemoveInvoiceCredit", - "qualifiedName": "ZohoBooksApi.RemoveInvoiceCredit", - "fullyQualifiedName": "ZohoBooksApi.RemoveInvoiceCredit@1.0.0", - "description": "Remove a specific credit applied to an invoice.\n\nUse this tool to delete a particular credit that has been applied to an invoice when adjustments are needed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization from which the credit is being removed.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the invoice to remove a credit from.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note invoice to be removed from the invoice.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_invoice_applied_credit'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RemoveInvoiceCredit", - "parameters": { - "organization_id": { - "value": "8473920000001234567", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - }, - "credit_note_invoice_id": { - "value": "8473920000007654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RemoveUserFromOrganization", - "qualifiedName": "ZohoBooksApi.RemoveUserFromOrganization", - "fullyQualifiedName": "ZohoBooksApi.RemoveUserFromOrganization@1.0.0", - "description": "Delete a user from the organization.\n\nThis tool removes a specified user from the organization in Zoho Books. It should be called when there is a need to delete a user's access or association with the organization.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization from which the user will be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "user_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the user to be deleted from the organization.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RemoveUserFromOrganization", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "user_unique_identifier": { - "value": "f47ac10b-58cc-4372-a567-0e02b2c3d479", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RemoveUserFromProject", - "qualifiedName": "ZohoBooksApi.RemoveUserFromProject", - "fullyQualifiedName": "ZohoBooksApi.RemoveUserFromProject@1.0.0", - "description": "Remove a user from a specific project in Zoho Books.\n\nThis tool is used to remove a user from a project within Zoho Books. Call this tool when you need to manage project participants by deleting a user's access to a particular project.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the project from which the user will be removed.", - "enum": null, - "inferrable": true - }, - { - "name": "user_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the user to be removed from the project.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_project_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RemoveUserFromProject", - "parameters": { - "organization_id": { - "value": "org_1a2b3c4d5e", - "type": "string", - "required": true - }, - "project_identifier": { - "value": "proj_9876abcd", - "type": "string", - "required": true - }, - "user_identifier": { - "value": "user_00a1b2c3", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RemoveVendorBillCredit", - "qualifiedName": "ZohoBooksApi.RemoveVendorBillCredit", - "fullyQualifiedName": "ZohoBooksApi.RemoveVendorBillCredit@1.0.0", - "description": "Delete credits applied to a vendor bill.\n\nUse this tool to remove credits applied to a specific vendor bill using the vendor_credit_id and vendor_credit_bill_id.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the vendor credit bill is to be deleted.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor credit to be deleted. Required for bill credit removal.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor credit bill to delete the applied credits.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.DELETE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'delete_vendor_credit_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RemoveVendorBillCredit", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "vendor_credit_identifier": { - "value": "VC-2026-0001", - "type": "string", - "required": true - }, - "vendor_credit_bill_identifier": { - "value": "VCB-2026-1001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RestoreBankTransaction", - "qualifiedName": "ZohoBooksApi.RestoreBankTransaction", - "fullyQualifiedName": "ZohoBooksApi.RestoreBankTransaction@1.0.0", - "description": "Restores an excluded bank transaction in your account.\n\nUse this tool to recover a previously excluded bank transaction in your Zoho Books account, identified by the transaction ID. It should be called when you need to reinstate transactions that were mistakenly removed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the Zoho Books organization to restore the transaction for.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": true, - "description": "The unique identifier for the specific bank transaction to be restored.", - "enum": null, - "inferrable": true - }, - { - "name": "account_id", - "type": "string", - "required": false, - "description": "Mandatory Account ID for which transactions are to be restored.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'restore_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RestoreBankTransaction", - "parameters": { - "organization_id": { - "value": "70901234567", - "type": "string", - "required": true - }, - "bank_transaction_id": { - "value": "BTX-20250203-001", - "type": "string", - "required": true - }, - "account_id": { - "value": "ACC-4001", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ResumeRecurringBill", - "qualifiedName": "ZohoBooksApi.ResumeRecurringBill", - "fullyQualifiedName": "ZohoBooksApi.ResumeRecurringBill@1.0.0", - "description": "Resume a stopped recurring bill in Zoho Books.\n\nUse this tool to restart a suspended recurring bill in Zoho Books, ensuring payments continue as scheduled.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_bill_identifier", - "type": "string", - "required": true, - "description": "Provide the unique identifier of the recurring bill to resume it in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'resume_recurring_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ResumeRecurringBill", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "recurring_bill_identifier": { - "value": "RB-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ResumeRecurringExpense", - "qualifiedName": "ZohoBooksApi.ResumeRecurringExpense", - "fullyQualifiedName": "ZohoBooksApi.ResumeRecurringExpense@1.0.0", - "description": "Resumes a stopped recurring expense cycle.\n\nUse this tool to restart a recurring expense that has been previously paused in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_expense_id", - "type": "string", - "required": true, - "description": "The unique identifier for the recurring expense to be resumed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'resume_recurring_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ResumeRecurringExpense", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "recurring_expense_id": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "ResumeRecurringInvoice", - "qualifiedName": "ZohoBooksApi.ResumeRecurringInvoice", - "fullyQualifiedName": "ZohoBooksApi.ResumeRecurringInvoice@1.0.0", - "description": "Resumes a stopped recurring invoice.\n\n Use this tool to resume a recurring invoice that has been paused.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization whose invoice needs to be resumed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_id", - "type": "string", - "required": false, - "description": "Unique identifier of the recurring invoice to be resumed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'resume_recurring_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.ResumeRecurringInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6001234567", - "type": "string", - "required": false - }, - "recurring_invoice_id": { - "value": "RI-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"resume_date\":\"2026-03-01\",\"notes\":\"Resuming recurring invoice upon client request\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveBillAttachment", - "qualifiedName": "ZohoBooksApi.RetrieveBillAttachment", - "fullyQualifiedName": "ZohoBooksApi.RetrieveBillAttachment@1.0.0", - "description": "Retrieve the attachment from a specific bill.\n\nCall this tool to get the file attached to a bill using its bill ID. Useful for accessing invoices or related documents stored in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to specify which organization's bill attachment to retrieve.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "The unique identifier of the bill to retrieve its attachment.", - "enum": null, - "inferrable": true - }, - { - "name": "get_thumbnail", - "type": "boolean", - "required": false, - "description": "Set to true to get the thumbnail of the attachment instead of the full file.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_bill_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveBillAttachment", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-2026-001", - "type": "string", - "required": true - }, - "get_thumbnail": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveBillDetails", - "qualifiedName": "ZohoBooksApi.RetrieveBillDetails", - "fullyQualifiedName": "ZohoBooksApi.RetrieveBillDetails@1.0.0", - "description": "Retrieve the details of a specific bill.\n\nUse this tool to get comprehensive details about a specific bill by providing its ID. Useful for retrieving bill information such as amount, due date, or vendor details.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization for which the bill details are being retrieved.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the bill to retrieve its details. This should be provided as a string.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveBillDetails", - "parameters": { - "organization_id": { - "value": "987654321", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveContactDetails", - "qualifiedName": "ZohoBooksApi.RetrieveContactDetails", - "fullyQualifiedName": "ZohoBooksApi.RetrieveContactDetails@1.0.0", - "description": "Retrieve comprehensive details of a specific contact.\n\nThis tool should be called to access complete information about a contact, including basic details, addresses, payment terms, and financial data such as outstanding amounts and transaction history.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique identifier of the organization for which the contact details are being retrieved.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_id", - "type": "string", - "required": true, - "description": "Unique identifier for the contact to retrieve detailed information.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_contact'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveContactDetails", - "parameters": { - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": true - }, - "contact_id": { - "value": "987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveContactList", - "qualifiedName": "ZohoBooksApi.RetrieveContactList", - "fullyQualifiedName": "ZohoBooksApi.RetrieveContactList@1.0.0", - "description": "Retrieve and filter a list of contacts from Zoho Books.\n\nUse this tool to obtain a detailed list of contacts with options for advanced filtering by name, company, status, and more. Ideal for managing contact information and accessing financial data like outstanding amounts and credit limits. Supports pagination for efficient data handling.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "Provide the ID of the organization to retrieve relevant contact data.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_contact_by_type", - "type": "string", - "required": false, - "description": "Filter contacts by type. Accepts 'customer' or 'vendor'.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_name_filter", - "type": "string", - "required": false, - "description": "Filter contacts by name. Use 'startswith' or 'contains' for match type. Max-length: 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_company_name", - "type": "string", - "required": false, - "description": "Search contacts by company name. Maximum length is 100 characters. Use variants like 'company_name_startswith' and 'company_name_contains' for different search methods.", - "enum": null, - "inferrable": true - }, - { - "name": "primary_contact_first_name", - "type": "string", - "required": false, - "description": "Search contacts by the first name of the primary contact person. Use 'first_name_startswith' or 'first_name_contains'. Max-length 100.", - "enum": null, - "inferrable": true - }, - { - "name": "search_by_last_name", - "type": "string", - "required": false, - "description": "Search contacts by last name of the primary contact person. Supports 'startswith' or 'contains' options. Max-length 100.", - "enum": null, - "inferrable": true - }, - { - "name": "address_search", - "type": "string", - "required": false, - "description": "Search contacts by address field. Use 'address_startswith' or 'address_contains'. Max-length 100.", - "enum": null, - "inferrable": true - }, - { - "name": "email_search_criteria", - "type": "string", - "required": false, - "description": "Search contacts by email of the primary contact person. Use 'startswith' or 'contains' in the string to specify the search variant. Max length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_phone_number", - "type": "string", - "required": false, - "description": "Search contacts by primary contact's phone number. Supports 'startswith' and 'contains' variants. Max length of 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_status_filter", - "type": "string", - "required": false, - "description": "Filter contacts by status. Options include All, Active, Inactive, Duplicate, PortalEnabled, PortalDisabled, OverDue, Unpaid, CreditLimitExceed, and Crm.", - "enum": null, - "inferrable": true - }, - { - "name": "search_contacts_text", - "type": "string", - "required": false, - "description": "Search contacts using contact name or notes. Maximum length is 100 characters.", - "enum": null, - "inferrable": true - }, - { - "name": "sort_by_column", - "type": "string", - "required": false, - "description": "Specify the column to sort contacts by. Allowed values: contact_name, first_name, last_name, email, outstanding_receivable_amount, created_time, and last_modified_time.", - "enum": null, - "inferrable": true - }, - { - "name": "crm_contact_id", - "type": "string", - "required": false, - "description": "CRM Contact ID to filter specific contact details.", - "enum": null, - "inferrable": true - }, - { - "name": "crm_account_id", - "type": "string", - "required": false, - "description": "Specify the CRM Account ID for the contact to retrieve specific contact details.", - "enum": null, - "inferrable": true - }, - { - "name": "crm_vendor_id", - "type": "string", - "required": false, - "description": "The CRM Vendor ID associated with the contact, used to filter results.", - "enum": null, - "inferrable": true - }, - { - "name": "page_number_to_fetch", - "type": "integer", - "required": false, - "description": "Specify the page number to be fetched. Defaults to 1 if not provided.", - "enum": null, - "inferrable": true - }, - { - "name": "records_per_page", - "type": "integer", - "required": false, - "description": "The number of contact records to fetch per page. Default is 200.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'list_contacts'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveContactList", - "parameters": { - "organization_identifier": { - "value": "9876543210", - "type": "string", - "required": true - }, - "filter_contact_by_type": { - "value": "customer", - "type": "string", - "required": false - }, - "contact_name_filter": { - "value": "contains:Acme", - "type": "string", - "required": false - }, - "search_by_company_name": { - "value": "company_name_startswith:Acme", - "type": "string", - "required": false - }, - "primary_contact_first_name": { - "value": "first_name_startswith:Jo", - "type": "string", - "required": false - }, - "search_by_last_name": { - "value": "contains:Smith", - "type": "string", - "required": false - }, - "address_search": { - "value": "address_contains:Main St", - "type": "string", - "required": false - }, - "email_search_criteria": { - "value": "contains:example.com", - "type": "string", - "required": false - }, - "contact_phone_number": { - "value": "startswith:+1-555", - "type": "string", - "required": false - }, - "contact_status_filter": { - "value": "Active", - "type": "string", - "required": false - }, - "search_contacts_text": { - "value": "preferred vendor", - "type": "string", - "required": false - }, - "sort_by_column": { - "value": "last_modified_time", - "type": "string", - "required": false - }, - "crm_contact_id": { - "value": "CRM_CONTACT_12345", - "type": "string", - "required": false - }, - "crm_account_id": { - "value": "CRM_ACCOUNT_98765", - "type": "string", - "required": false - }, - "crm_vendor_id": { - "value": "CRM_VENDOR_54321", - "type": "string", - "required": false - }, - "page_number_to_fetch": { - "value": 2, - "type": "integer", - "required": false - }, - "records_per_page": { - "value": 50, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveCreditNoteEmailHistory", - "qualifiedName": "ZohoBooksApi.RetrieveCreditNoteEmailHistory", - "fullyQualifiedName": "ZohoBooksApi.RetrieveCreditNoteEmailHistory@1.0.0", - "description": "Retrieve the email history of a specific credit note.\n\nUse this tool to get detailed information about the email interactions associated with a specific credit note. Useful for tracking communication history.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which you want to retrieve the credit note email history.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to retrieve its email history.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_credit_note_email_history'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveCreditNoteEmailHistory", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "9876543210", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveEstimateDetails", - "qualifiedName": "ZohoBooksApi.RetrieveEstimateDetails", - "fullyQualifiedName": "ZohoBooksApi.RetrieveEstimateDetails@1.0.0", - "description": "Retrieve the details of a specific estimate.\n\nUse this tool to get information about a particular estimate by providing its ID. It returns the details associated with the specified estimate in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization in Zoho Books. Required to retrieve estimate details.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_id", - "type": "string", - "required": true, - "description": "Unique identifier of the specific estimate to retrieve details for.", - "enum": null, - "inferrable": true - }, - { - "name": "response_format", - "type": "string", - "required": false, - "description": "Specify the format for the estimate details: json, pdf, or html. Default is json.", - "enum": null, - "inferrable": true - }, - { - "name": "print_pdf", - "type": "boolean", - "required": false, - "description": "Set to true to print the exported PDF of the estimate.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_estimate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveEstimateDetails", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "estimate_id": { - "value": "57580000000440001", - "type": "string", - "required": true - }, - "response_format": { - "value": "pdf", - "type": "string", - "required": false - }, - "print_pdf": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveExpenseReceipt", - "qualifiedName": "ZohoBooksApi.RetrieveExpenseReceipt", - "fullyQualifiedName": "ZohoBooksApi.RetrieveExpenseReceipt@1.0.0", - "description": "Retrieve the receipt attached to an expense.\n\nUse this tool to obtain the receipt attached to a specific expense entry in Zoho Books. It is useful for reviewing or auditing expense details by accessing the actual receipt document.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. Required to retrieve the expense receipt.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the expense to retrieve its receipt. Required for locating the specific expense in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "get_receipt_thumbnail", - "type": "boolean", - "required": false, - "description": "Set to true to get a thumbnail of the receipt; false returns the full receipt.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_expense_receipt'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveExpenseReceipt", - "parameters": { - "organization_identifier": { - "value": "6000000000001", - "type": "string", - "required": true - }, - "expense_identifier": { - "value": "5500000000001", - "type": "string", - "required": true - }, - "get_receipt_thumbnail": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveInvoiceDocument", - "qualifiedName": "ZohoBooksApi.RetrieveInvoiceDocument", - "fullyQualifiedName": "ZohoBooksApi.RetrieveInvoiceDocument@1.0.0", - "description": "Retrieve a document attached to a specific invoice.\n\nUse this tool to access and download a document linked to an invoice by specifying the invoice and document IDs.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization to retrieve the document from.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_id", - "type": "string", - "required": true, - "description": "The unique identifier for the invoice to which the document is attached. Required to retrieve the document.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_document_id", - "type": "string", - "required": true, - "description": "Unique identifier for the specific document attached to the invoice. Required to retrieve the exact document.", - "enum": null, - "inferrable": true - }, - { - "name": "response_format", - "type": "string", - "required": false, - "description": "Specify the desired format for the response, such as json, pdf, or html.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_invoice_document_details'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveInvoiceDocument", - "parameters": { - "organization_id": { - "value": "1000000001", - "type": "string", - "required": true - }, - "invoice_id": { - "value": "INV-2026-0001", - "type": "string", - "required": true - }, - "invoice_document_id": { - "value": "DOC-98765", - "type": "string", - "required": true - }, - "response_format": { - "value": "pdf", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveItemDetails", - "qualifiedName": "ZohoBooksApi.RetrieveItemDetails", - "fullyQualifiedName": "ZohoBooksApi.RetrieveItemDetails@1.0.0", - "description": "Retrieve details of a specific item in Zoho Books.\n\nUse this tool to get detailed information about a specific item in Zoho Books by providing the item ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization whose item details are being retrieved.", - "enum": null, - "inferrable": true - }, - { - "name": "item_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the item to retrieve details from Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_item'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveItemDetails", - "parameters": { - "organization_id": { - "value": "6000123456789012345", - "type": "string", - "required": true - }, - "item_unique_identifier": { - "value": "1000123456789012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrievePurchaseOrderAttachment", - "qualifiedName": "ZohoBooksApi.RetrievePurchaseOrderAttachment", - "fullyQualifiedName": "ZohoBooksApi.RetrievePurchaseOrderAttachment@1.0.0", - "description": "Retrieve the file attached to a specific purchase order.\n\nUse this tool to obtain the file attachment from a specific purchase order by providing the purchase order ID.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID representing the organization. Required to specify which organization's purchase order to access.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "The unique identifier of the purchase order to retrieve the attachment for.", - "enum": null, - "inferrable": true - }, - { - "name": "get_thumbnail", - "type": "boolean", - "required": false, - "description": "Set to true to get the thumbnail of the attachment, or false to retrieve the full file.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_purchase_order_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrievePurchaseOrderAttachment", - "parameters": { - "organization_identifier": { - "value": "60000000001", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "9876543210", - "type": "string", - "required": true - }, - "get_thumbnail": { - "value": false, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrievePurchaseOrderDetails", - "qualifiedName": "ZohoBooksApi.RetrievePurchaseOrderDetails", - "fullyQualifiedName": "ZohoBooksApi.RetrievePurchaseOrderDetails@1.0.0", - "description": "Retrieve the details of a purchase order.\n\nUse this tool to get detailed information about a specific purchase order by providing the purchase order ID. Ideal for retrieving purchase order data for review or processing.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "Unique ID of the organization to retrieve purchase order details.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "Provide the unique identifier of the purchase order to retrieve its details.", - "enum": null, - "inferrable": true - }, - { - "name": "response_format", - "type": "string", - "required": false, - "description": "Specifies the format of the purchase order details. Options: json, pdf, html. Default is json.", - "enum": null, - "inferrable": true - }, - { - "name": "print_pdf", - "type": "boolean", - "required": false, - "description": "Set to True to print the exported PDF of the purchase order.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_purchase_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrievePurchaseOrderDetails", - "parameters": { - "organization_identifier": { - "value": "org_987654321", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "PO-2026-0001", - "type": "string", - "required": true - }, - "response_format": { - "value": "pdf", - "type": "string", - "required": false - }, - "print_pdf": { - "value": true, - "type": "boolean", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveRetainerInvoiceEmailContent", - "qualifiedName": "ZohoBooksApi.RetrieveRetainerInvoiceEmailContent", - "fullyQualifiedName": "ZohoBooksApi.RetrieveRetainerInvoiceEmailContent@1.0.0", - "description": "Retrieve the email content of a retainer invoice.\n\nThis tool fetches the email content of a specific retainer invoice using the provided invoice ID. It should be called when you need to view or send the email details of a retainer invoice.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization. Required to access retainer invoice emails.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice. Used to fetch the specific email content.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_retainer_invoice_email'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveRetainerInvoiceEmailContent", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "122000000000345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveTaxGroupDetails", - "qualifiedName": "ZohoBooksApi.RetrieveTaxGroupDetails", - "fullyQualifiedName": "ZohoBooksApi.RetrieveTaxGroupDetails@1.0.0", - "description": "Retrieve details of a specific tax group.\n\nUse this to obtain information about a specific tax group by its ID in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization in Zoho Books to get the tax group details for.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_group_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the tax group in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_tax_group'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveTaxGroupDetails", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "tax_group_identifier": { - "value": "TG_987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "RetrieveUnusedRetainerPayments", - "qualifiedName": "ZohoBooksApi.RetrieveUnusedRetainerPayments", - "fullyQualifiedName": "ZohoBooksApi.RetrieveUnusedRetainerPayments@1.0.0", - "description": "Retrieve unused retainer payments for a contact.\n\nFetch details of unused retainer payments associated with a specific contact, providing insight into available credit balances.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Unique identifier for the organization to filter retainer payments.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_id", - "type": "string", - "required": true, - "description": "The unique identifier for the contact whose unused retainer payments are being retrieved. This is required to specify which contact's data you want to access.", - "enum": null, - "inferrable": true - }, - { - "name": "filter_by_currency_id", - "type": "string", - "required": false, - "description": "Currency ID to filter unused retainer payments by a specific currency.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.READ" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'get_unused_retainer_payments'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.RetrieveUnusedRetainerPayments", - "parameters": { - "organization_id": { - "value": "447583000000123456", - "type": "string", - "required": true - }, - "contact_id": { - "value": "a0f1b2c3-d4e5-6789-abcd-1234567890ef", - "type": "string", - "required": true - }, - "filter_by_currency_id": { - "value": "USD", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SellFixedAsset", - "qualifiedName": "ZohoBooksApi.SellFixedAsset", - "fullyQualifiedName": "ZohoBooksApi.SellFixedAsset@1.0.0", - "description": "Initiate the sale of a specified fixed asset.\n\n Use this tool to sell a specific fixed asset by providing its asset ID. It should be called when confirming or completing the sale process of a fixed asset in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the fixed asset to be sold. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'sell_fixed_asset'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SellFixedAsset", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "fixed_asset_identifier": { - "value": "FA-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"sale_date\":\"2025-02-01\",\"sale_price\":15000.00,\"sale_account_id\":\"50000012345\",\"buyer_name\":\"Acme Corporation\",\"buyer_contact\":\"purchasing@acme.com\",\"reference_number\":\"SALE-2025-001\",\"notes\":\"Asset sold following upgrade\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SendEmailToContact", - "qualifiedName": "ZohoBooksApi.SendEmailToContact", - "fullyQualifiedName": "ZohoBooksApi.SendEmailToContact@1.0.0", - "description": "Send an email directly to a specified contact.\n\n Use this tool to send an email to a contact by specifying their contact ID. Ideal for communicating directly with contacts via email.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization to which the contact belongs. It is required for sending the email. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_id", - "type": "string", - "required": false, - "description": "Unique identifier for the contact to send the email to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_customer_statement_with_email", - "type": "boolean", - "required": false, - "description": "Indicate if a customer statement PDF should be sent with the email. Use 'true' to send, 'false' otherwise. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_contact'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SendEmailToContact", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "60012345678", - "type": "string", - "required": false - }, - "contact_id": { - "value": "70098765432", - "type": "string", - "required": false - }, - "send_customer_statement_with_email": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"subject\":\"Invoice Payment Reminder\",\"content\":\"Dear Customer,\\n\\nPlease find attached your latest invoice. Please let us know if you have any questions or need an extension on the payment.\\n\\nBest regards,\\nAcme Corp Billing Team\",\"from_mail_id\":\"billing@acmecorp.com\",\"to_mail_ids\":[\"contact@example.com\"],\"cc_mail_ids\":[\"accounting@acmecorp.com\"],\"bcc_mail_ids\":[],\"attachments\":[],\"include_pdf_invoice\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SendEstimateEmail", - "qualifiedName": "ZohoBooksApi.SendEstimateEmail", - "fullyQualifiedName": "ZohoBooksApi.SendEstimateEmail@1.0.0", - "description": "Send an email estimate to a customer.\n\n Use this tool to email an estimate to a customer. If no specific content is provided, the default email content will be used.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization. This ID is required to send an estimate email. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the estimate to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "email_attachments", - "type": "string", - "required": false, - "description": "Files to be attached to the email estimate. Provide file paths or URLs. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_estimate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SendEstimateEmail", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "estimate_identifier": { - "value": "EST-1001", - "type": "string", - "required": false - }, - "email_attachments": { - "value": "https://cdn.example.com/estimates/EST-1001.pdf", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"subject\":\"Estimate #EST-1001\",\"message\":\"Hello John,\\n\\nPlease find the attached estimate for your review. Let us know if you have any questions.\\n\\nBest regards,\\nAcme Corp\",\"to_mail_ids\":[\"john.doe@example.com\"],\"cc_mail_ids\":[\"sales@acme.example.com\"],\"bcc_mail_ids\":[],\"send_from_org_email_id\":\"billing@acme.example.com\",\"notify_customer\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SendEstimatesEmail", - "qualifiedName": "ZohoBooksApi.SendEstimatesEmail", - "fullyQualifiedName": "ZohoBooksApi.SendEstimatesEmail@1.0.0", - "description": "Send multiple estimates to customers via email.\n\nUse this tool to email up to 10 estimates to your customers efficiently. Ideal for managing and sharing multiple estimates at once.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_ids_to_email", - "type": "string", - "required": true, - "description": "Comma-separated string of up to 10 estimate IDs to send via email.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_multiple_estimates'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SendEstimatesEmail", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "estimate_ids_to_email": { - "value": "EST-1001,EST-1002,EST-1003,EST-1004,EST-1005", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SendInvitationEmail", - "qualifiedName": "ZohoBooksApi.SendInvitationEmail", - "fullyQualifiedName": "ZohoBooksApi.SendInvitationEmail@1.0.0", - "description": "Send an invitation email to a user in Zoho Books.\n\nUse this tool to send an invitation email to a specific user by their user ID in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier of the organization in Zoho Books required to send the invitation.", - "enum": null, - "inferrable": true - }, - { - "name": "user_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the user to whom the invitation email will be sent.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'invite_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SendInvitationEmail", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "user_unique_identifier": { - "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SendInvoiceEmail", - "qualifiedName": "ZohoBooksApi.SendInvoiceEmail", - "fullyQualifiedName": "ZohoBooksApi.SendInvoiceEmail@1.0.0", - "description": "Email an invoice to a customer with optional content customization.\n\n This tool is used to email an invoice to a customer. It can be called when there's a need to send invoice details via email, optionally allowing custom content. If no custom content is provided, default mail content will be used.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization to which the invoice is linked. This ID is required to specify which organization's invoice is being emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": false, - "description": "Unique string identifier for the specific invoice to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_email_attachments", - "type": "string", - "required": false, - "description": "A comma-separated list of file paths to attach to the email. Provide file paths if additional files need to be included with the invoice email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_customer_statement", - "type": "boolean", - "required": false, - "description": "Set to 'True' to send the customer statement PDF with the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_invoice_attachment", - "type": "boolean", - "required": false, - "description": "Set to true to attach the invoice with the email; false to exclude it. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SendInvoiceEmail", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": false - }, - "invoice_email_attachments": { - "value": "/tmp/terms.pdf,/tmp/specs.pdf", - "type": "string", - "required": false - }, - "send_customer_statement": { - "value": true, - "type": "boolean", - "required": false - }, - "send_invoice_attachment": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"email_ids\":[\"customer@example.com\"],\"subject\":\"Invoice INV-2026-0001 from Acme Corp\",\"body\":\"Hello John Doe,\\n\\nPlease find attached your invoice INV-2026-0001. If you have any questions, reply to this email or contact our billing team.\\n\\nRegards,\\nAcme Corp\",\"attachments\":[]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SendInvoiceReminders", - "qualifiedName": "ZohoBooksApi.SendInvoiceReminders", - "fullyQualifiedName": "ZohoBooksApi.SendInvoiceReminders@1.0.0", - "description": "Send email reminders for unpaid invoices.\n\nUse this tool to remind customers about unpaid invoices by email. It sends reminder emails only for open or overdue invoices, with a maximum of 10 invoices at a time.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "Provide the ID of the organization for which the invoice reminders are to be sent.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_ids", - "type": "string", - "required": true, - "description": "List of invoice IDs to send reminders for. Only for open or overdue invoices, up to 10 at once.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_invoice_reminder'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SendInvoiceReminders", - "parameters": { - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": true - }, - "invoice_ids": { - "value": "INV-1001,INV-1002,INV-1003", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SendInvoicesEmail", - "qualifiedName": "ZohoBooksApi.SendInvoicesEmail", - "fullyQualifiedName": "ZohoBooksApi.SendInvoicesEmail@1.0.0", - "description": "Send up to 10 invoices by email to customers.\n\n This tool is used to email invoices to your customers, allowing you to send up to 10 invoices in a single request.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The organization ID for which invoices will be emailed. Required for sending emails. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "comma_separated_invoice_ids", - "type": "string", - "required": false, - "description": "Comma separated list of invoice IDs to be emailed. Maximum 10 IDs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_invoices'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SendInvoicesEmail", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "comma_separated_invoice_ids": { - "value": "1001,1002,1003", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"subject\":\"Your invoice from ACME Corp\",\"body\":\"Dear customer,\\nPlease find attached your invoice.\\nThank you for your business.\",\"send_from_org_email_id\":\"987654321\",\"to_mail_ids\":[\"client1@example.com\",\"client2@example.com\"],\"attachpdf\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SendPurchaseOrderEmail", - "qualifiedName": "ZohoBooksApi.SendPurchaseOrderEmail", - "fullyQualifiedName": "ZohoBooksApi.SendPurchaseOrderEmail@1.0.0", - "description": "Send a purchase order email to the vendor.\n\n Use this tool to email a purchase order to the vendor. If no custom content is provided, the email will be sent with default content.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required to specify which organization the purchase order belongs to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": false, - "description": "Unique identifier of the purchase order to be emailed to the vendor. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "email_attachments", - "type": "string", - "required": false, - "description": "A comma-separated list of file paths or URLs to attach to the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "attachment_file_name", - "type": "string", - "required": false, - "description": "The name of the file to attach to the email for the purchase order. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_purchase_order_attachment", - "type": "boolean", - "required": false, - "description": "Set to true to include the purchase order as an attachment with the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_purchase_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SendPurchaseOrderEmail", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": false - }, - "purchase_order_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "email_attachments": { - "value": "https://example.com/attachment1.pdf,https://example.com/attachment2.pdf", - "type": "string", - "required": false - }, - "attachment_file_name": { - "value": "purchase_order_987654321.pdf", - "type": "string", - "required": false - }, - "send_purchase_order_attachment": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"to_mail_ids\":[\"vendor@example.com\"],\"cc_mail_ids\":[\"accounts@example.com\"],\"bcc_mail_ids\":[],\"subject\":\"Purchase Order #987654321\",\"body\":\"Hello,\\n\\nPlease find attached the purchase order. Let us know if you have any questions.\\n\\nRegards,\\nAcme Corp\",\"send_mail\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SendVendorPaymentEmail", - "qualifiedName": "ZohoBooksApi.SendVendorPaymentEmail", - "fullyQualifiedName": "ZohoBooksApi.SendVendorPaymentEmail@1.0.0", - "description": "Send a payment receipt email to a vendor.\n\n This tool sends a vendor payment receipt to a vendor via email. You can customize the email content, attach files, and control sender preferences. If no customizations are provided, the email will use default templates.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the vendor payment email is being sent. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_payment_id", - "type": "string", - "required": false, - "description": "Unique identifier for the vendor payment. Used to retrieve and send the corresponding payment receipt via email. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "email_attachments", - "type": "string", - "required": false, - "description": "List of file paths or URLs to attach to the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "attached_file_name", - "type": "string", - "required": false, - "description": "Specify the name of the file to be attached to the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "send_vendor_payment_attachment", - "type": "boolean", - "required": false, - "description": "Set to true to include the vendor payment attachment in the email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'email_vendor_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SendVendorPaymentEmail", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "731234567890123", - "type": "string", - "required": false - }, - "vendor_payment_id": { - "value": "VPAY-2026-000123", - "type": "string", - "required": false - }, - "email_attachments": { - "value": "[\"https://assets.example.com/receipts/receipt_INV-1001.pdf\", \"/tmp/terms_and_conditions.pdf\"]", - "type": "string", - "required": false - }, - "attached_file_name": { - "value": "VendorPaymentReceipt_INV-1001.pdf", - "type": "string", - "required": false - }, - "send_vendor_payment_attachment": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"to_mail_ids\":[\"vendor@example.com\"],\"cc_mail_ids\":[\"accounts-payable@example.com\"],\"bcc_mail_ids\":[],\"subject\":\"Payment Receipt for Invoice #INV-1001\",\"body\":\"Dear Vendor,\\n\\nPlease find attached the payment receipt for Invoice #INV-1001. Thank you for your services.\\n\\nBest regards,\\nCompany XYZ\",\"send_from_org_email_id\":123456789}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SetInvoiceAttachmentPreference", - "qualifiedName": "ZohoBooksApi.SetInvoiceAttachmentPreference", - "fullyQualifiedName": "ZohoBooksApi.SetInvoiceAttachmentPreference@1.0.0", - "description": "Set the email attachment preference for an invoice.\n\nThis tool updates whether an attached file should be sent when emailing a specific invoice in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the specific invoice to update attachment preference.", - "enum": null, - "inferrable": true - }, - { - "name": "send_attachment_with_email", - "type": "boolean", - "required": true, - "description": "Set to true to send the attachment with the invoice when emailed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_attachment_preference'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SetInvoiceAttachmentPreference", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - }, - "send_attachment_with_email": { - "value": true, - "type": "boolean", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SetPrimaryLocation", - "qualifiedName": "ZohoBooksApi.SetPrimaryLocation", - "fullyQualifiedName": "ZohoBooksApi.SetPrimaryLocation@1.0.0", - "description": "Marks a specified location as primary in Zoho Books.\n\nUse this tool to designate a specific location as the primary one in Zoho Books. This is useful for managing location preferences and ensuring the correct primary location is set.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization for which to set the primary location in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "location_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the location to be marked as primary.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_location_primary'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SetPrimaryLocation", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "location_identifier": { - "value": "LOC-987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SetSalesOrderAttachmentPreference", - "qualifiedName": "ZohoBooksApi.SetSalesOrderAttachmentPreference", - "fullyQualifiedName": "ZohoBooksApi.SetSalesOrderAttachmentPreference@1.0.0", - "description": "Sets attachment preference for sales order emails.\n\nUse this tool to set whether an attached file should be sent when emailing a sales order. Call this when you need to update the attachment settings on a specific sales order.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which you want to update the attachment preference.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order to update.", - "enum": null, - "inferrable": true - }, - { - "name": "allow_attachment_in_email", - "type": "boolean", - "required": true, - "description": "Indicate if the file can be sent in the email. Set to true to allow, false to prevent.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_attachment_preference1'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SetSalesOrderAttachmentPreference", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-987654321", - "type": "string", - "required": true - }, - "allow_attachment_in_email": { - "value": true, - "type": "boolean", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "StartTimeTracking", - "qualifiedName": "ZohoBooksApi.StartTimeTracking", - "fullyQualifiedName": "ZohoBooksApi.StartTimeTracking@1.0.0", - "description": "Initiate time tracking for a specific entry.\n\nUse this tool to start tracking time for a given time entry in Zoho Books. It should be called when you need to begin or resume tracking time on a project task.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "ID of the organization for which the time tracking is to be started.", - "enum": null, - "inferrable": true - }, - { - "name": "time_entry_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the specific time entry to be tracked.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'start_entry_timer'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.StartTimeTracking", - "parameters": { - "organization_identifier": { - "value": "org_5f8d9c3a2b", - "type": "string", - "required": true - }, - "time_entry_identifier": { - "value": "te_20260218_001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "Stop1099TrackingForVendor", - "qualifiedName": "ZohoBooksApi.Stop1099TrackingForVendor", - "fullyQualifiedName": "ZohoBooksApi.Stop1099TrackingForVendor@1.0.0", - "description": "Stop 1099 payment tracking for a vendor in the U.S.\n\nUse to disable 1099 reporting for vendor payments in the U.S. organization.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization where 1099 tracking will be stopped.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_contact_id", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor contact to stop 1099 tracking.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'untrack_contact_1099'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.Stop1099TrackingForVendor", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "vendor_contact_id": { - "value": "987654321098765", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "StopRecurringBill", - "qualifiedName": "ZohoBooksApi.StopRecurringBill", - "fullyQualifiedName": "ZohoBooksApi.StopRecurringBill@1.0.0", - "description": "Stop an active recurring bill in Zoho Books.\n\nUse this tool to stop an active recurring bill in Zoho Books when you need to discontinue ongoing payments. It provides confirmation upon successful stoppage.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID representing the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the recurring bill to be stopped.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'stop_recurring_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.StopRecurringBill", - "parameters": { - "organization_id": { - "value": "9876543210", - "type": "string", - "required": true - }, - "recurring_bill_identifier": { - "value": "RB-2026-000123", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "StopRecurringExpense", - "qualifiedName": "ZohoBooksApi.StopRecurringExpense", - "fullyQualifiedName": "ZohoBooksApi.StopRecurringExpense@1.0.0", - "description": "Stop an active recurring expense in Zoho Books.\n\nThis tool is used to stop an active recurring expense in Zoho Books. It should be called when a user wants to terminate a recurring payment schedule associated with an expense.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books for which the recurring expense will be stopped.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_expense_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the recurring expense to be stopped.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'stop_recurring_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.StopRecurringExpense", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "recurring_expense_identifier": { - "value": "RECURR_EXP_2026_001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "StopRecurringInvoice", - "qualifiedName": "ZohoBooksApi.StopRecurringInvoice", - "fullyQualifiedName": "ZohoBooksApi.StopRecurringInvoice@1.0.0", - "description": "Stop an active recurring invoice in Zoho Books.\n\n Use this tool to stop an active recurring invoice by providing the recurring invoice ID. This tool is useful for managing billing cycles when you need to halt a recurring charge.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization for which the recurring invoice is to be stopped. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_id", - "type": "string", - "required": false, - "description": "The unique identifier for the recurring invoice to be stopped. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'stop_recurring_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.StopRecurringInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "recurring_invoice_id": { - "value": "RINV-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"stop_mode\":\"immediate\",\"note\":\"Customer requested cancellation\",\"stop_date\":\"2026-02-18\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "StopTimeTracking", - "qualifiedName": "ZohoBooksApi.StopTimeTracking", - "fullyQualifiedName": "ZohoBooksApi.StopTimeTracking@1.0.0", - "description": "Stop the timer for a time entry.\n\nUse this tool to stop tracking time for a specific task or activity, such as when taking a break or ending a work session.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization where the time entry is being stopped. This ID is required to specify which organization's time tracking should be affected.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'stop_entry_timer'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.StopTimeTracking", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SubmitBillForApproval", - "qualifiedName": "ZohoBooksApi.SubmitBillForApproval", - "fullyQualifiedName": "ZohoBooksApi.SubmitBillForApproval@1.0.0", - "description": "Submit a bill for approval in Zoho Books.\n\nUse this tool to submit a specific bill for approval in Zoho Books by providing the bill ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization in Zoho Books for which the bill is being submitted.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the bill to be submitted for approval.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'submit_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SubmitBillForApproval", - "parameters": { - "organization_id": { - "value": "672345678", - "type": "string", - "required": true - }, - "bill_identifier": { - "value": "BILL-2026-0042", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SubmitCreditNoteForApproval", - "qualifiedName": "ZohoBooksApi.SubmitCreditNoteForApproval", - "fullyQualifiedName": "ZohoBooksApi.SubmitCreditNoteForApproval@1.0.0", - "description": "Submit a credit note for approval in Zoho Books.\n\nCall this tool to submit a credit note for approval in Zoho Books using the credit note ID.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the ID of the organization for which the credit note is being submitted for approval.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to submit for approval in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'submit_credit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SubmitCreditNoteForApproval", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "CN-987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SubmitEstimateForApproval", - "qualifiedName": "ZohoBooksApi.SubmitEstimateForApproval", - "fullyQualifiedName": "ZohoBooksApi.SubmitEstimateForApproval@1.0.0", - "description": "Submit an estimate for approval.\n\nUse this tool to submit a specific estimate for approval by providing the estimate ID. It facilitates the approval workflow for estimates in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books that the estimate belongs to.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": true, - "description": "Unique identifier of the estimate to be submitted for approval.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'submit_estimate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SubmitEstimateForApproval", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "estimate_identifier": { - "value": "EST-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SubmitInvoiceForApproval", - "qualifiedName": "ZohoBooksApi.SubmitInvoiceForApproval", - "fullyQualifiedName": "ZohoBooksApi.SubmitInvoiceForApproval@1.0.0", - "description": "Submit an invoice for approval in Zoho Books.\n\nThis tool allows users to submit an invoice for approval using the Zoho Books API. It should be called when an invoice is ready to be reviewed.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_unique_id", - "type": "string", - "required": true, - "description": "The unique identifier for the invoice to be submitted for approval.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'submit_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SubmitInvoiceForApproval", - "parameters": { - "organization_id": { - "value": "60001234567", - "type": "string", - "required": true - }, - "invoice_unique_id": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SubmitPurchaseOrder", - "qualifiedName": "ZohoBooksApi.SubmitPurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.SubmitPurchaseOrder@1.0.0", - "description": "Submit a purchase order for approval.\n\nUse this tool to submit a specific purchase order for approval in the Zoho Books system.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization within Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the purchase order to be submitted for approval.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'submit_purchase_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SubmitPurchaseOrder", - "parameters": { - "organization_identifier": { - "value": "60000012345", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "PO-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SubmitRetainerInvoice", - "qualifiedName": "ZohoBooksApi.SubmitRetainerInvoice", - "fullyQualifiedName": "ZohoBooksApi.SubmitRetainerInvoice@1.0.0", - "description": "Submit a retainer invoice for approval in Zoho Books.\n\nUse this tool to submit a specific retainer invoice for approval in Zoho Books. Call this tool when you need to send a retainer invoice for review and approval.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization in Zoho Books to which the retainer invoice belongs.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier of the retainer invoice for submission.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'submit_retainer_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SubmitRetainerInvoice", - "parameters": { - "organization_id": { - "value": "395874321", - "type": "string", - "required": true - }, - "retainer_invoice_unique_id": { - "value": "retainer_inv_2026_0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SubmitSalesOrderForApproval", - "qualifiedName": "ZohoBooksApi.SubmitSalesOrderForApproval", - "fullyQualifiedName": "ZohoBooksApi.SubmitSalesOrderForApproval@1.0.0", - "description": "Submit a sales order for approval in Zoho Books.\n\nUse this tool to submit a sales order for approval in the Zoho Books system by providing the sales order ID.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books where the sales order is submitted.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order to be submitted for approval.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'submit_sales_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SubmitSalesOrderForApproval", - "parameters": { - "organization_identifier": { - "value": "707594165", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-00012345", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "SubmitVendorCreditForApproval", - "qualifiedName": "ZohoBooksApi.SubmitVendorCreditForApproval", - "fullyQualifiedName": "ZohoBooksApi.SubmitVendorCreditForApproval@1.0.0", - "description": "Submit a vendor credit for approval.\n\nThis tool submits a specified vendor credit for approval based on its unique ID. Use it to move vendor credits from draft to approval status in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The ID of the organization where the vendor credit is submitted for approval.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier of the vendor credit to be submitted for approval.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'submit_vendor_credit'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.SubmitVendorCreditForApproval", - "parameters": { - "organization_id": { - "value": "6000000000001", - "type": "string", - "required": true - }, - "vendor_credit_unique_id": { - "value": "VC-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "TrackContactFor1099Reporting", - "qualifiedName": "ZohoBooksApi.TrackContactFor1099Reporting", - "fullyQualifiedName": "ZohoBooksApi.TrackContactFor1099Reporting@1.0.0", - "description": "Track a contact for 1099 reporting in Zoho Books.\n\nUse this tool to track a contact for 1099 reporting, applicable only when the organization's country is the U.S.A. Ideal for ensuring contacts meet 1099 requirements in financial records.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the organization in Zoho Books required for 1099 reporting. This should be the ID specific to the organization tracked in the U.S.A.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_unique_id", - "type": "string", - "required": true, - "description": "Unique identifier of the contact for 1099 tracking.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'track_contact_1099'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.TrackContactFor1099Reporting", - "parameters": { - "organization_identifier": { - "value": "org_123456789", - "type": "string", - "required": true - }, - "contact_unique_id": { - "value": "contact_987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UncategorizeBankTransaction", - "qualifiedName": "ZohoBooksApi.UncategorizeBankTransaction", - "fullyQualifiedName": "ZohoBooksApi.UncategorizeBankTransaction@1.0.0", - "description": "Revert a categorized bank transaction to uncategorized.\n\nUse this tool to uncategorize a previously categorized bank transaction. Call this when needing to correct or revert the categorization of a transaction in Zoho Books.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books for which the transaction is to be uncategorized.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_id", - "type": "string", - "required": true, - "description": "Unique identifier of the bank transaction to uncategorize.", - "enum": null, - "inferrable": true - }, - { - "name": "account_id_for_transactions", - "type": "string", - "required": false, - "description": "The mandatory Account ID for which transactions are to be listed.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'uncategorize_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UncategorizeBankTransaction", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "bank_transaction_id": { - "value": "320000000011111", - "type": "string", - "required": true - }, - "account_id_for_transactions": { - "value": "320000000011112", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UnmatchBankTransaction", - "qualifiedName": "ZohoBooksApi.UnmatchBankTransaction", - "fullyQualifiedName": "ZohoBooksApi.UnmatchBankTransaction@1.0.0", - "description": "Unmatch a previously matched bank transaction.\n\nUse this tool to unmatch a bank transaction that was previously categorized, reverting it to an uncategorized state.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the transaction unmatching is to be performed.", - "enum": null, - "inferrable": true - }, - { - "name": "transaction_id", - "type": "string", - "required": true, - "description": "The unique identifier of the bank transaction to be unmatched.", - "enum": null, - "inferrable": true - }, - { - "name": "account_id_for_transactions", - "type": "string", - "required": false, - "description": "The mandatory ID of the account for which transactions are to be unlisted. This is essential to specify the correct account involved in the transaction.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'unmatch_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UnmatchBankTransaction", - "parameters": { - "organization_id": { - "value": "60012345678", - "type": "string", - "required": true - }, - "transaction_id": { - "value": "372a9f4b-8c2d-4e6a-b5f1-9c3d2b7a1e4f", - "type": "string", - "required": true - }, - "account_id_for_transactions": { - "value": "11987654321", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateAccountInfo", - "qualifiedName": "ZohoBooksApi.UpdateAccountInfo", - "fullyQualifiedName": "ZohoBooksApi.UpdateAccountInfo@1.0.0", - "description": "Updates account information in Zoho Books.\n\n This tool updates the chart of account details for a specified account in Zoho Books. It should be called when account information needs modification, such as changing account names, codes, or related details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The ID of the organization for which the account will be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "account_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the account to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_chart_of_account'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateAccountInfo", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": false - }, - "account_identifier": { - "value": "987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"account\": {\"account_name\": \"Office Supplies\",\"code\": \"OS-1001\",\"account_type\": \"Expense\",\"is_bank_or_cash\": false,\"status\": \"active\",\"description\": \"Updated account for office supplies\",\"opening_balance\": \"0.00\",\"opening_balance_date\": \"2025-01-01\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateBankAccountRule", - "qualifiedName": "ZohoBooksApi.UpdateBankAccountRule", - "fullyQualifiedName": "ZohoBooksApi.UpdateBankAccountRule@1.0.0", - "description": "Update or modify a bank account rule in Zoho Books.\n\n This tool updates an existing bank account rule in Zoho Books. It should be called when you need to make changes to a rule, either by adding new criteria or modifying existing ones. The tool provides confirmation once the rule update is successful.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization in Zoho Books for which the bank account rule needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_rule_id", - "type": "string", - "required": false, - "description": "Unique identifier for the bank account rule to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_bank_account_rule'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateBankAccountRule", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60012345678", - "type": "string", - "required": false - }, - "bank_account_rule_id": { - "value": "7890123456", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"bank_account_rule\": {\"name\": \"PayPal Sales - Updated\",\"sequence_number\": 2,\"is_active\": true,\"bank_account_id\": \"1122334455\",\"conditions\": [{\"field\": \"description\",\"operator\": \"contains\",\"value\": \"PayPal\"},{\"field\": \"amount\",\"operator\": \"greater_than\",\"value\": \"0\"}],\"action\": {\"type\": \"auto_categorize\",\"income_account_id\": \"66778899\",\"expense_account_id\": \"77889900\",\"tax_id\": null}}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateBankAccountZohoBooks", - "qualifiedName": "ZohoBooksApi.UpdateBankAccountZohoBooks", - "fullyQualifiedName": "ZohoBooksApi.UpdateBankAccountZohoBooks@1.0.0", - "description": "Modify a bank account in Zoho Books.\n\n Use this tool to update details of an existing bank account in Zoho Books. It should be called when there's a need to modify account information such as account name or details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization to be modified. Required for identifying the specific organization's bank account. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_account_id", - "type": "string", - "required": false, - "description": "Unique identifier of the bank account to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_bank_account'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateBankAccountZohoBooks", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "bank_account_id": { - "value": "1122334455", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"bank_account\":{\"account_name\":\"Main Checking Account\",\"account_number\":\"1234567890\",\"bank_name\":\"Acme Bank\",\"ifsc_code\":\"ACME0001234\",\"opening_balance\":5000.00,\"opening_balance_date\":\"2024-01-01\",\"is_primary\":true,\"notes\":\"Updated account name and notes\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateBankTransaction", - "qualifiedName": "ZohoBooksApi.UpdateBankTransaction", - "fullyQualifiedName": "ZohoBooksApi.UpdateBankTransaction@1.0.0", - "description": "Update details of a specific bank transaction.\n\n This tool updates the specified bank transaction with the provided information. Call this tool to make changes to existing transaction details in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization in Zoho Books for which the bank transaction is being updated. This is required to specify the organization context for the transaction update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bank_transaction_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the specific bank transaction to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.banking.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_bank_transaction'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateBankTransaction", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "600123456", - "type": "string", - "required": false - }, - "bank_transaction_identifier": { - "value": "BTX-789012345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"bank_transaction\":{\"bank_account_id\":\"123456789\",\"transaction_date\":\"2026-02-15\",\"amount\":1250.5,\"transaction_type\":\"deposit\",\"reference_number\":\"DEP-20260215-01\",\"description\":\"Customer payment for invoice INV-1001\",\"status\":\"reconciled\",\"cheque_number\":null,\"tags\":[\"online\",\"priority\"],\"custom_fields\":[{\"label\":\"Sales Region\",\"value\":\"North\"},{\"label\":\"Collected By\",\"value\":\"John Doe\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateBillByCustomField", - "qualifiedName": "ZohoBooksApi.UpdateBillByCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateBillByCustomField@1.0.0", - "description": "Update or create a bill using a custom field identifier.\n\n Use this tool to update an existing bill or create a new one by specifying a custom field's unique value. The tool retrieves the bill based on the custom field value provided. If the bill is not found and the X-Upsert option is enabled, a new bill will be created with the provided details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the bill is to be updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_identifier_key", - "type": "string", - "required": false, - "description": "Specify the API name of the custom field with unique values for identifying the bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_field_unique_value", - "type": "string", - "required": false, - "description": "Provide the unique value from the custom field to identify and update the specific bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "enable_upsert", - "type": "boolean", - "required": false, - "description": "Set to true to enable upsert functionality. Creates a new bill if no existing bill matches the custom field value. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_bill_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateBillByCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "unique_identifier_key": { - "value": "cf_bill_external_id", - "type": "string", - "required": false - }, - "custom_field_unique_value": { - "value": "BILL-2026-00042", - "type": "string", - "required": false - }, - "enable_upsert": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"987654321\",\"reference_number\":\"REF-2026-42\",\"date\":\"2026-02-15\",\"due_date\":\"2026-03-17\",\"line_items\":[{\"item_id\":\"112233\",\"description\":\"Consulting services - February 2026\",\"quantity\":10,\"rate\":150.00,\"account_id\":\"445566\"}],\"custom_fields\":[{\"customfield_id\":\"cf_bill_external_id\",\"value\":\"BILL-2026-00042\"}],\"notes\":\"Auto-created via API upsert by custom field.\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateBillingAddress", - "qualifiedName": "ZohoBooksApi.UpdateBillingAddress", - "fullyQualifiedName": "ZohoBooksApi.UpdateBillingAddress@1.0.0", - "description": "Updates the billing address for a specified bill.\n\n This tool is used to update the billing address associated with a specific bill. It should be called when there's a need to modify the billing address details of an existing bill.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the billing address is being updated. This identifier is necessary to access specific organizational data. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_unique_identifier", - "type": "string", - "required": false, - "description": "Provide the unique identifier for the bill to update its billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_bill_billing_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateBillingAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "org_123456789", - "type": "string", - "required": false - }, - "bill_unique_identifier": { - "value": "bill_98765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"billing_address\":{\"attention\":\"Jane Smith\",\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\",\"phone\":\"+1-415-555-1234\",\"fax\":\"+1-415-555-5678\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateBillingAddressRetainerInvoice", - "qualifiedName": "ZohoBooksApi.UpdateBillingAddressRetainerInvoice", - "fullyQualifiedName": "ZohoBooksApi.UpdateBillingAddressRetainerInvoice@1.0.0", - "description": "Update billing address for a retainer invoice.\n\n This tool updates the billing address associated with a specific retainer invoice. It should be used when there's a need to change the billing address for a particular invoice without affecting other records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required to specify which organization's invoice needs updating. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": false, - "description": "Unique identifier of the retainer invoice to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_retainer_invoice_billing_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateBillingAddressRetainerInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60001234567", - "type": "string", - "required": false - }, - "retainer_invoice_id": { - "value": "30012345678", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"billing_address\":{\"attention\":\"John Doe\",\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\",\"phone\":\"+14155552671\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateBillInZoho", - "qualifiedName": "ZohoBooksApi.UpdateBillInZoho", - "fullyQualifiedName": "ZohoBooksApi.UpdateBillInZoho@1.0.0", - "description": "Updates a bill by modifying details in Zoho Books.\n\n This tool is used to update a bill in Zoho Books. It allows you to modify details or remove line items by excluding them from the list. Call this tool when you need to make changes to an existing bill.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. Required for updating a bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_unique_identifier", - "type": "string", - "required": false, - "description": "The unique identifier for the bill to be updated in Zoho Books. Ensure this matches the bill you intend to modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "file_attachment", - "type": "string", - "required": false, - "description": "File to attach. Allowed extensions: gif, png, jpeg, jpg, bmp, pdf. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateBillInZoho", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "bill_unique_identifier": { - "value": "9876543210", - "type": "string", - "required": false - }, - "file_attachment": { - "value": "receipt_2026.pdf", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"bill\":{\"vendor_id\":\"567890123\",\"bill_number\":\"BILL-2026-045\",\"bill_date\":\"2026-02-10\",\"due_date\":\"2026-03-12\",\"reference_number\":\"PO-7890\",\"currency_id\":\"USD\",\"exchange_rate\":1.0,\"discount\":15.0,\"shipping_charge\":10.0,\"adjustment\":-5.0,\"notes\":\"Updated billing after price adjustment\",\"line_items\":[{\"item_id\":\"1001\",\"name\":\"Consulting services\",\"description\":\"Monthly consulting - February 2026\",\"rate\":150.0,\"quantity\":10,\"discount\":0.0,\"account_id\":\"4001\",\"tax_id\":\"2001\"},{\"item_id\":\"1002\",\"name\":\"Software license\",\"description\":\"Annual license renewal\",\"rate\":299.99,\"quantity\":1,\"discount\":0.0,\"account_id\":\"4002\",\"tax_id\":\"2002\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateBusinessContact", - "qualifiedName": "ZohoBooksApi.UpdateBusinessContact", - "fullyQualifiedName": "ZohoBooksApi.UpdateBusinessContact@1.0.0", - "description": "Update detailed information for an existing business contact.\n\n Use this tool to modify comprehensive details of an existing contact, including addresses, contact persons, and payment terms. Useful for keeping contact information up-to-date with the latest business details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization to which the contact belongs. This is required for identifying the organization context for the update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_id", - "type": "string", - "required": false, - "description": "Unique identifier for the contact to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_contact'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateBusinessContact", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "contact_id": { - "value": "987654321098765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"contact_name\":\"Acme Corp\",\"company_name\":\"Acme Corporation\",\"contact_type\":\"customer\",\"contact_persons\":[{\"first_name\":\"Jane\",\"last_name\":\"Doe\",\"email\":\"jane.doe@acme.com\",\"phone\":\"415-555-0123\",\"mobile\":\"415-555-0199\",\"is_primary_contact\":true},{\"first_name\":\"John\",\"last_name\":\"Smith\",\"email\":\"john.smith@acme.com\",\"phone\":\"415-555-0147\",\"is_primary_contact\":false}],\"billing_address\":{\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"Warehouse 5, 400 Industrial Rd\",\"city\":\"Oakland\",\"state\":\"CA\",\"zip\":\"94607\",\"country\":\"USA\"},\"payment_terms\":30,\"currency_id\":\"USD\",\"tax_exemption_id\":null,\"notes\":\"Preferred contact: Jane Doe. Update billing cycle to monthly.\",\"custom_fields\":[{\"label\":\"Account Manager\",\"value\":\"Samuel Lee\"}],\"is_archived\":false}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateContactAddress", - "qualifiedName": "ZohoBooksApi.UpdateContactAddress", - "fullyQualifiedName": "ZohoBooksApi.UpdateContactAddress@1.0.0", - "description": "Edit the additional address of a contact.\n\n Use this tool to update the additional address associated with a contact in Zoho Books. It requires the contact ID and address ID to specify the contact and address to be updated.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. This is required to specify which organization's contact address needs updating. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the contact to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "address_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the address to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_contact_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateContactAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6000000000001", - "type": "string", - "required": false - }, - "contact_identifier": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "address_identifier": { - "value": "987654321098765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"address\":{\"address\":\"123 New Market St\",\"address_2\":\"Suite 400\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"phone\":\"+1-415-555-0132\",\"attention\":\"Jane Doe\",\"is_default\":false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateContactByCustomField", - "qualifiedName": "ZohoBooksApi.UpdateContactByCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateContactByCustomField@1.0.0", - "description": "Update a contact using a unique custom field value.\n\n This tool updates or creates a contact in Zoho Books based on a unique custom field value. Use it when you need to modify a contact using a non-duplicate custom field value, or create a new contact if the unique value isn't found and upsert is enabled.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization in Zoho Books. This is required to specify which organization's records to update or create. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_field_api_name", - "type": "string", - "required": false, - "description": "The API name of the unique custom field used to identify the contact. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "The unique value of the custom field used to identify the contact. Must be a non-duplicate value. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_contact_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new contact if the unique custom field value isn't found. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_contact_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateContactByCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "custom_field_api_name": { - "value": "cf_customer_code", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "CUST-00042", - "type": "string", - "required": false - }, - "create_contact_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"contact\":{\"contact_name\":\"Jane Doe\",\"company_name\":\"Acme Widgets Inc.\",\"email\":\"jane.doe@example.com\",\"phone\":\"+1-555-0102\",\"billing_address\":{\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\"},\"custom_fields\":[{\"label\":\"Customer Code\",\"value\":\"CUST-00042\",\"api_name\":\"cf_customer_code\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateContactPerson", - "qualifiedName": "ZohoBooksApi.UpdateContactPerson", - "fullyQualifiedName": "ZohoBooksApi.UpdateContactPerson@1.0.0", - "description": "Update an existing contact person's details.\n\n Use this tool to update the details of an existing contact person in the system. This is useful when changes to contact information are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID representing the organization whose contact person is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "contact_person_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the contact person to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.contacts.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_contact_person'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateContactPerson", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "org_987654321", - "type": "string", - "required": false - }, - "contact_person_identifier": { - "value": "cp_12345", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"contact_person\":{\"first_name\":\"Alex\",\"last_name\":\"Johnson\",\"email\":\"alex.johnson@example.com\",\"phone\":\"555-0123\",\"mobile\":\"+15559876543\",\"department\":\"Sales\",\"designation\":\"Account Manager\",\"salutation\":\"Mr.\",\"is_primary_contact\":true}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCreditNoteBillingAddress", - "qualifiedName": "ZohoBooksApi.UpdateCreditNoteBillingAddress", - "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteBillingAddress@1.0.0", - "description": "Update the billing address for a specific credit note.\n\n This tool updates the billing address associated with an existing credit note in Zoho Books. It should be called when a change in billing information for a specific credit note is required.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books. Required to specify which organization's data is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_identifier", - "type": "string", - "required": false, - "description": "A unique identifier for the credit note to update its billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_credit_note_billing_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCreditNoteBillingAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "credit_note_identifier": { - "value": "CN-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"billing_address\":{\"attention\":\"Jane Smith\",\"address\":\"456 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94104\",\"country\":\"United States\",\"phone\":\"+1-415-555-0199\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCreditNoteDetails", - "qualifiedName": "ZohoBooksApi.UpdateCreditNoteDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteDetails@1.0.0", - "description": "Update details of an existing credit note.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required to specify which organization's credit note to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_unique_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the credit note to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to provide your own credit note number instead of using the auto-generated one. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_credit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCreditNoteDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "600123456789", - "type": "string", - "required": false - }, - "credit_note_unique_identifier": { - "value": "CNID-abc123def", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"credit_note\":{\"creditnote_number\":\"CN-2026-045\",\"date\":\"2026-02-18\",\"customer_id\":\"1234567890\",\"reference_number\":\"REF-9876\",\"line_items\":[{\"item_id\":\"111111\",\"name\":\"Consulting Services\",\"description\":\"Monthly consulting\",\"rate\":150.00,\"quantity\":10,\"tax_id\":\"2001\"},{\"item_id\":\"222222\",\"name\":\"Setup Fee\",\"rate\":300.00,\"quantity\":1}],\"notes\":\"Adjusted pricing per agreement\",\"adjustment\":0.00,\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Alpha\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCreditNoteShippingAddress", - "qualifiedName": "ZohoBooksApi.UpdateCreditNoteShippingAddress", - "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteShippingAddress@1.0.0", - "description": "Updates the shipping address of an existing credit note.\n\n Use this tool to update the shipping address for a specific credit note. Call this when you need to change the recipient's address on a credit note document.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "ID of the organization to which the credit note belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": false, - "description": "Unique identifier of the credit note to update the shipping address for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_credit_note_shipping_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCreditNoteShippingAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": false - }, - "credit_note_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"shipping_address\":{\"attention\":\"Jane Doe\",\"address\":\"456 Oak Street\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10101\",\"country\":\"USA\",\"phone\":\"+1-555-0102\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCreditNoteTemplate", - "qualifiedName": "ZohoBooksApi.UpdateCreditNoteTemplate", - "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteTemplate@1.0.0", - "description": "Updates the PDF template for a specified credit note.\n\nUse this tool to change the PDF template associated with a specific credit note by providing the credit note ID and the template ID.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the organization. Required to specify which organization's credit note template will be updated.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note to be updated.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_template_id", - "type": "string", - "required": true, - "description": "Unique identifier of the credit note template to be updated.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_credit_note_template'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCreditNoteTemplate", - "parameters": { - "organization_identifier": { - "value": "3698730000001234567", - "type": "string", - "required": true - }, - "credit_note_id": { - "value": "9876543210000123456", - "type": "string", - "required": true - }, - "credit_note_template_id": { - "value": "9001234567890123456", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCreditNoteWithCustomField", - "qualifiedName": "ZohoBooksApi.UpdateCreditNoteWithCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteWithCustomField@1.0.0", - "description": "Update or create a credit note using a custom field.\n\n Use this tool to modify an existing credit note or create a new one with unique values in custom fields. If the specified unique value doesn't match any existing credit note and upsert is enabled, a new credit note will be created given the necessary details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization to which the credit note belongs. This identifies the target organization for the update or creation operation. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_key", - "type": "string", - "required": false, - "description": "The API name of the unique custom field used to identify the credit note. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_field_unique_value", - "type": "string", - "required": false, - "description": "The unique value for the custom field used to identify the credit note to update or create. Ensure this matches the specific custom field's unique value constraints. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_new_credit_note_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new credit note if the unique custom field value isn't found in existing credit notes. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_credit_note_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCreditNoteWithCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6000000000000001234", - "type": "string", - "required": false - }, - "unique_custom_field_key": { - "value": "cf_unique_order", - "type": "string", - "required": false - }, - "custom_field_unique_value": { - "value": "UNQ-2026-0001", - "type": "string", - "required": false - }, - "create_new_credit_note_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"creditnote\":{\"customer_id\":\"123456789012345\",\"date\":\"2026-01-15\",\"reference_number\":\"CN-1002\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Product A\",\"rate\":100.0,\"quantity\":2}],\"custom_fields\":[{\"label\":\"Client PO\",\"value\":\"PO-9988\",\"index\":1,\"api_name\":\"cf_unique_order\"},{\"label\":\"Sales Rep\",\"value\":\"Jane Doe\",\"index\":2,\"api_name\":\"cf_sales_rep\"}],\"notes\":\"Updated via API\"},\"upsert\":true}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCurrencyDetails", - "qualifiedName": "ZohoBooksApi.UpdateCurrencyDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateCurrencyDetails@1.0.0", - "description": "Update the details of a currency in Zoho Books.\n\n Use this tool to update information for a specific currency in Zoho Books by providing the currency ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization for which the currency details are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "currency_unique_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the currency to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_currency'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCurrencyDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "currency_unique_identifier": { - "value": "cad_001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"currency\":{\"name\":\"Canadian Dollar\",\"symbol\":\"CA$\",\"currency_code\":\"CAD\",\"is_active\":true,\"decimal_places\":2,\"exchange_rate\":1.25}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCustomerDebitNote", - "qualifiedName": "ZohoBooksApi.UpdateCustomerDebitNote", - "fullyQualifiedName": "ZohoBooksApi.UpdateCustomerDebitNote@1.0.0", - "description": "Update an existing customer debit note.\n\n Use this tool to update details of an existing customer debit note in Zoho Books. Remove a line item by omitting it from the line_items list.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Organization ID for the request within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "debit_note_unique_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the debit note to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to ignore automatic debit note number generation, requiring manual input of the debit note number. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_customer_debit_note'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCustomerDebitNote", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "debit_note_unique_identifier": { - "value": "112233445566778", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"debit_note_number\":\"DN-2026-007\",\"customer_id\":\"1234567890123456789\",\"date\":\"2026-02-15\",\"reference_number\":\"DN-REF-001\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Consulting Services\",\"description\":\"Monthly accounting consulting\",\"rate\":150.0,\"quantity\":10},{\"item_id\":\"543210987\",\"name\":\"Setup Fee\",\"description\":\"One-time setup fee\",\"rate\":200.0,\"quantity\":1}],\"notes\":\"Updated line items and reference number.\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCustomerPaymentCustomFields", - "qualifiedName": "ZohoBooksApi.UpdateCustomerPaymentCustomFields", - "fullyQualifiedName": "ZohoBooksApi.UpdateCustomerPaymentCustomFields@1.0.0", - "description": "Update custom fields in existing customer payments.\n\n Use this tool to update the values of custom fields in an existing customer payment in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization to which the customer payment belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_payment_identifier", - "type": "string", - "required": false, - "description": "The unique identifier for the customer payment you wish to update custom fields for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_custom_fields_in_customer_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCustomerPaymentCustomFields", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "customer_payment_identifier": { - "value": "CPMT-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"custom_fields\":[{\"customfield_id\":\"cf_1001\",\"value\":\"REF-2026-001\"},{\"customfield_id\":\"cf_1002\",\"value\":\"Approved by finance\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCustomerPaymentInfo", - "qualifiedName": "ZohoBooksApi.UpdateCustomerPaymentInfo", - "fullyQualifiedName": "ZohoBooksApi.UpdateCustomerPaymentInfo@1.0.0", - "description": "Update an existing payment information.\n\n Use this tool to update payment information for a customer when any corrections or modifications are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the payment update is requested. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_unique_identifier", - "type": "string", - "required": false, - "description": "The unique identifier for the payment to be updated. Use this to specify which payment you want to modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_customer_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCustomerPaymentInfo", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "payment_unique_identifier": { - "value": "pay_2026_001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"payment_id\":\"pay_2026_001\",\"customer_id\":\"cust_789\",\"amount\":\"150.00\",\"date\":\"2026-02-15\",\"payment_mode\":\"bank_transfer\",\"reference_number\":\"TRX-7890\",\"notes\":\"Correction: updated amount and reference\",\"payment_account_id\":\"acct_456\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCustomFieldsInBill", - "qualifiedName": "ZohoBooksApi.UpdateCustomFieldsInBill", - "fullyQualifiedName": "ZohoBooksApi.UpdateCustomFieldsInBill@1.0.0", - "description": "Update custom fields in existing bills.\n\n This tool is used to update the value of custom fields in existing bills. It should be called when you need to change or add information to the custom fields of a specific bill identified by its bill ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization for which the bill's custom fields are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "bill_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the bill to update its custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_custom_fields_in_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCustomFieldsInBill", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "600123456789", - "type": "string", - "required": false - }, - "bill_identifier": { - "value": "BILL-2026-0042", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"custom_fields\":[{\"label\":\"Project Code\",\"value\":\"PRJ-7890\"},{\"index\":2,\"value\":\"Urgent Priority\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCustomFieldsPurchaseOrder", - "qualifiedName": "ZohoBooksApi.UpdateCustomFieldsPurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.UpdateCustomFieldsPurchaseOrder@1.0.0", - "description": "Update custom field values in purchase orders.\n\n This tool updates the values of custom fields within existing purchase orders in Zoho Books. It should be called when there is a need to modify or update custom information in a specific purchase order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization associated with the purchase order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": false, - "description": "A unique identifier for the purchase order to update custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_custom_fields_in_purchase_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCustomFieldsPurchaseOrder", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "6000000000001", - "type": "string", - "required": false - }, - "purchase_order_id": { - "value": "PO-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"custom_fields\":[{\"customfield_id\":\"cf_1122334455\",\"value\":\"Priority: High\"},{\"label\":\"Delivery Window\",\"value\":\"2026-03-01 to 2026-03-05\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCustomModuleRecord", - "qualifiedName": "ZohoBooksApi.UpdateCustomModuleRecord", - "fullyQualifiedName": "ZohoBooksApi.UpdateCustomModuleRecord@1.0.0", - "description": "Update an existing custom module in Zoho Books.\n\n Use this tool to update an existing custom module record in Zoho Books by specifying the module name and module ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "module_name", - "type": "string", - "required": false, - "description": "The name of the custom module to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_module_id", - "type": "integer", - "required": false, - "description": "The ID of the custom module to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.custommodules.ALL" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_custom_module_record'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCustomModuleRecord", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "module_name": { - "value": "ProjectDetails", - "type": "string", - "required": false - }, - "custom_module_id": { - "value": 987654321, - "type": "integer", - "required": false - }, - "request_body": { - "value": "{\"custom_module\": {\"project_name\": \"Website Redesign\", \"start_date\": \"2026-02-01\", \"end_date\": \"2026-05-30\", \"budget\": 15000.00, \"status\": \"In Progress\", \"assigned_to\": {\"id\": \"4321\", \"name\": \"Alex Johnson\"}, \"custom_fields\": [{\"label\": \"Priority\", \"value\": \"High\"}, {\"label\": \"Client SLA\", \"value\": \"Gold\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateCustomModuleRecords", - "qualifiedName": "ZohoBooksApi.UpdateCustomModuleRecords", - "fullyQualifiedName": "ZohoBooksApi.UpdateCustomModuleRecords@1.0.0", - "description": "Updates existing custom module records in bulk.\n\n Use this tool to update multiple records in a custom module efficiently. This is useful for making uniform changes across a set of records within a specified module.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization that owns the module records to be updated. This ID is required to specify which organization's records are being modified. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "module_name", - "type": "string", - "required": false, - "description": "Specify the name of the custom module to update records in bulk. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.custommodules.ALL" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'bulk_update_custom_module_records'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateCustomModuleRecords", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "682197843", - "type": "string", - "required": false - }, - "module_name": { - "value": "Projects", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"records\":[{\"id\":\"1000000000001\",\"Project_Name\":\"Website Redesign\",\"Status\":\"In Progress\",\"Estimated_Completion\":\"2026-06-30\"},{\"id\":\"1000000000002\",\"Project_Name\":\"Mobile App\",\"Status\":\"On Hold\",\"Priority\":\"High\"}],\"skip_reassignment\":false}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateEstimate", - "qualifiedName": "ZohoBooksApi.UpdateEstimate", - "fullyQualifiedName": "ZohoBooksApi.UpdateEstimate@1.0.0", - "description": "Update an existing estimate in Zoho Books.\n\n Use this tool to modify an existing estimate in Zoho Books. When updating, you can remove a line item by excluding it from the line_items list.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization whose estimate needs updating. It should be a unique identifier in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_unique_id", - "type": "string", - "required": false, - "description": "Unique identifier for the estimate you want to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to ignore auto generation of estimate numbers and manually specify the estimate number. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_estimate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateEstimate", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "estimate_unique_id": { - "value": "EST-UUID-0001", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"543210987\",\"date\":\"2026-02-10\",\"expiry_date\":\"2026-03-10\",\"estimate_number\":\"EST-2026-045\",\"reference_number\":\"REF-789\",\"notes\":\"Updated estimate per client request. Removed discontinued item.\",\"terms\":\"Payment due within 30 days.\",\"line_items\":[{\"item_id\":\"1001\",\"name\":\"Website design - Landing page\",\"description\":\"Design and development of landing page\",\"rate\":750.0,\"quantity\":1},{\"item_id\":\"2003\",\"name\":\"Monthly hosting\",\"description\":\"Hosting (per month)\",\"rate\":25.0,\"quantity\":12,\"discount\":0}],\"shipping_charge\":20.0,\"adjustment\":-50.0,\"custom_fields\":[{\"label\":\"Project Code\",\"value\":\"PRJ-009\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateEstimateBillingAddress", - "qualifiedName": "ZohoBooksApi.UpdateEstimateBillingAddress", - "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateBillingAddress@1.0.0", - "description": "Updates the billing address for a specific estimate.\n\n Use this tool to update the billing address for a specific estimate in Zoho Books. Call this tool when there's a need to change the billing details associated with an individual estimate.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization in Zoho Books. Required to specify the organization whose estimate billing address is to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the estimate to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_estimate_billing_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateEstimateBillingAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60012345678", - "type": "string", - "required": false - }, - "estimate_identifier": { - "value": "EST-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"billing_address\":{\"attention\":\"Jane Doe\",\"street\":\"123 Oak Street\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62704\",\"country\":\"United States\",\"phone\":\"217-555-0142\",\"fax\":\"217-555-0143\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateEstimateComment", - "qualifiedName": "ZohoBooksApi.UpdateEstimateComment", - "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateComment@1.0.0", - "description": "Update an existing comment on an estimate.\n\n Use this tool to update a specific comment associated with an estimate in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The ID representing the organization. Required to update the comment in the specified organization's estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the estimate to update the comment for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_unique_identifier", - "type": "string", - "required": false, - "description": "The unique identifier of the comment to be updated on an estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_estimate_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateEstimateComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": false - }, - "estimate_identifier": { - "value": "EST-1001", - "type": "string", - "required": false - }, - "comment_unique_identifier": { - "value": "CMT-98765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\":{\"content\":\"Updated comment text via API\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateEstimateCustomFields", - "qualifiedName": "ZohoBooksApi.UpdateEstimateCustomFields", - "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateCustomFields@1.0.0", - "description": "Update custom fields in a specific estimate.\n\n This tool updates the values of custom fields in an existing estimate. It should be called when you need to modify or add information to custom fields of a particular estimate.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization whose estimate custom fields are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the estimate to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_custom_fields_in_estimate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateEstimateCustomFields", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890abcdef", - "type": "string", - "required": false - }, - "estimate_identifier": { - "value": "EST-2026-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"custom_fields\":[{\"index\":1,\"label\":\"Project Code\",\"value\":\"PX-123\",\"type\":\"text\"},{\"index\":2,\"label\":\"Approved By\",\"value\":\"Jane Doe\",\"type\":\"text\"},{\"index\":3,\"label\":\"Delivery Date\",\"value\":\"2026-03-15\",\"type\":\"date\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateEstimateShippingAddress", - "qualifiedName": "ZohoBooksApi.UpdateEstimateShippingAddress", - "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateShippingAddress@1.0.0", - "description": "Updates the shipping address for an existing estimate in Zoho Books.\n\n This tool is used to update the shipping address for a specific estimate in the Zoho Books system. It should be called when there's a need to modify the delivery details associated with an existing estimate.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization in Zoho Books whose estimate's shipping address is to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the estimate to update its shipping address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_estimate_shipping_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateEstimateShippingAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "estimate_identifier": { - "value": "EST-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"shipping_address\":{\"attention\":\"John Doe\",\"address\":\"456 Delivery Lane\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62704\",\"country\":\"USA\",\"phone\":\"+1-217-555-0123\",\"fax\":\"+1-217-555-0199\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateEstimateTemplate", - "qualifiedName": "ZohoBooksApi.UpdateEstimateTemplate", - "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateTemplate@1.0.0", - "description": "Update the PDF template for an estimate.\n\nUse this tool to update the PDF template associated with a specific estimate in Zoho Books by providing the estimate and template IDs.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the estimate template is being updated.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_identifier", - "type": "string", - "required": true, - "description": "Provide the unique identifier for the specific estimate you want to update.", - "enum": null, - "inferrable": true - }, - { - "name": "estimate_template_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the estimate template to update in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_estimate_template'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateEstimateTemplate", - "parameters": { - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": true - }, - "estimate_identifier": { - "value": "EST-2026-0001", - "type": "string", - "required": true - }, - "estimate_template_identifier": { - "value": "TPL-987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateEstimateWithCustomField", - "qualifiedName": "ZohoBooksApi.UpdateEstimateWithCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateWithCustomField@1.0.0", - "description": "Update or create an estimate using a custom field value.\n\n This tool allows updating an existing estimate by providing a unique custom field value. If the value does not match any existing estimates and the X-Upsert header is true, a new estimate will be created if required details are provided. Use this tool to maintain estimates based on unique identifiers.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Provide the ID of the organization for which the estimate is being updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_api_name", - "type": "string", - "required": false, - "description": "The API name of the custom field used to uniquely identify and update an estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "The unique value of the custom field used to identify and update the estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_new_estimate_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new estimate if no existing record matches the custom field value. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.estimates.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_estimate_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateEstimateWithCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "unique_custom_field_api_name": { - "value": "client_reference", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "PO-4455", - "type": "string", - "required": false - }, - "create_new_estimate_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"1122334455\",\"date\":\"2026-02-15\",\"expiry_date\":\"2026-03-17\",\"reference_number\":\"EST-2026-001\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Consulting Services\",\"rate\":150,\"quantity\":10,\"description\":\"Monthly consulting\"}],\"custom_fields\":[{\"api_name\":\"client_reference\",\"value\":\"PO-4455\"}],\"notes\":\"Estimate created or updated via API\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateExchangeRate", - "qualifiedName": "ZohoBooksApi.UpdateExchangeRate", - "fullyQualifiedName": "ZohoBooksApi.UpdateExchangeRate@1.0.0", - "description": "Update exchange rate details for a currency in Zoho Books.\n\n This tool updates the exchange rate for a specified currency in Zoho Books. It should be called when you need to modify the exchange rate details, usually for financial reports, accounting adjustments, or compliance with real-time rates.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization for which the exchange rate is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "currency_unique_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the currency you want to update the exchange rate for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "exchange_rate_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the exchange rate to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_exchange_rate'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateExchangeRate", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "356789012345", - "type": "string", - "required": false - }, - "currency_unique_identifier": { - "value": "EUR", - "type": "string", - "required": false - }, - "exchange_rate_identifier": { - "value": "exr_987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"exchange_rate\":{\"date\":\"2026-02-18\",\"rate\":1.085,\"base_currency\":\"USD\",\"target_currency\":\"EUR\",\"notes\":\"Monthly market adjustment\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateExistingExpense", - "qualifiedName": "ZohoBooksApi.UpdateExistingExpense", - "fullyQualifiedName": "ZohoBooksApi.UpdateExistingExpense@1.0.0", - "description": "Update an existing expense in Zoho Books.\n\n Use this tool to modify details of an existing expense in Zoho Books. It should be called when you need to change information such as amount, date, or description of a recorded expense.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization. Required to identify which organization's expense is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_identifier", - "type": "string", - "required": false, - "description": "The unique identifier for the expense to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "expense_receipt_file", - "type": "string", - "required": false, - "description": "File path of the expense receipt to attach. Allowed extensions are gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, and docx. Ensure the file is accessible and in an accepted format. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "delete_receipt", - "type": "boolean", - "required": false, - "description": "Set to true to remove the attached receipt from the expense. Use false to keep it. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_expense'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateExistingExpense", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6001234567890123456", - "type": "string", - "required": false - }, - "expense_identifier": { - "value": "543210987654321", - "type": "string", - "required": false - }, - "expense_receipt_file": { - "value": "/tmp/receipts/expense-543210.pdf", - "type": "string", - "required": false - }, - "delete_receipt": { - "value": false, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"expense\":{\"date\":\"2026-02-15\",\"amount\":152.75,\"description\":\"Client entertainment - updated\",\"reference_number\":\"EXP-2026-045\",\"category_id\":\"1234567890123456789\",\"project_id\":\"9876543210987654321\",\"is_billed\":false,\"custom_fields\":[{\"label\":\"Attendee\",\"value\":\"John Doe\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateExpenseWithCustomField", - "qualifiedName": "ZohoBooksApi.UpdateExpenseWithCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateExpenseWithCustomField@1.0.0", - "description": "Update or create an expense using custom field values.\n\n This tool updates an existing expense based on a unique custom field value. If the unique value doesn't match any existing expenses, and the X-Upsert header is true, a new expense will be created if all required details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization for which the expense update is intended. It is required to identify the target organization in the API. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_field_api_name", - "type": "string", - "required": false, - "description": "API name of the unique custom field used to identify the expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "The unique value for the custom field used to update or create an expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "allow_upsert_new_expense", - "type": "boolean", - "required": false, - "description": "Set to true to create a new expense if no matching unique custom field value is found. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_expense_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateExpenseWithCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "custom_field_api_name": { - "value": "employee_id", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "EMP-1234", - "type": "string", - "required": false - }, - "allow_upsert_new_expense": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"date\":\"2026-02-15\",\"account_id\":\"987654321\",\"amount\":150.75,\"description\":\"Client dinner with Acme Corp\",\"reference_number\":\"EXP-2026-001\",\"custom_fields\":{\"employee_id\":\"EMP-1234\"},\"notes\":\"Meal and transportation\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateFixedAssetInfo", - "qualifiedName": "ZohoBooksApi.UpdateFixedAssetInfo", - "fullyQualifiedName": "ZohoBooksApi.UpdateFixedAssetInfo@1.0.0", - "description": "Update fixed asset details in Zoho Books.\n\n Use this tool to update the information of a specific fixed asset in Zoho Books by providing the necessary asset details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization whose fixed asset you wish to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the specific fixed asset to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_fixed_asset'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateFixedAssetInfo", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "fixed_asset_identifier": { - "value": "FA-2023-045", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"fixed_asset\": {\"asset_name\": \"Office Laptop - Finance\", \"asset_code\": \"FA-2023-045\", \"purchase_date\": \"2023-11-15\", \"purchase_cost\": 2100.00, \"salvage_value\": 100.00, \"depreciation_method\": \"Straight Line\", \"useful_life_in_years\": 3, \"location\": \"Head Office - Floor 2\", \"vendor_id\": \"VEND-6789\", \"warranty_expiry\": \"2025-11-14\", \"notes\": \"Assigned to Jane Doe in Finance department.\", \"is_active\": true, \"custom_fields\": {\"department\": \"Finance\", \"asset_tag\": \"FIN-LAP-045\"}}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateFixedAssetType", - "qualifiedName": "ZohoBooksApi.UpdateFixedAssetType", - "fullyQualifiedName": "ZohoBooksApi.UpdateFixedAssetType@1.0.0", - "description": "Update a fixed asset type with new information.\n\n Use this tool to update the details of a fixed asset type by providing the relevant asset type ID and new information. It should be called when modifying asset categories in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_type_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the fixed asset type to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_fixed_asset_type'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateFixedAssetType", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6678480000001234567", - "type": "string", - "required": false - }, - "fixed_asset_type_identifier": { - "value": "AT-987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"fixed_asset_type\":{\"name\":\"Office Furniture\",\"code\":\"OFF_FURN\",\"description\":\"Updated category for office desks and chairs\",\"depreciation_method\":\"straight_line\",\"useful_life\":7,\"residual_value\":150.00,\"capitalizable\":true,\"account_id\":\"2000123456\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateInvoice", - "qualifiedName": "ZohoBooksApi.UpdateInvoice", - "fullyQualifiedName": "ZohoBooksApi.UpdateInvoice@1.0.0", - "description": "Update details of an existing invoice in Zoho Books.\n\n Use this tool to modify the details of an existing invoice. If you need to remove a line item, simply exclude it from the line_items list.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization to which the invoice belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_id", - "type": "string", - "required": false, - "description": "Unique identifier of the invoice to be updated. Ensure this ID corresponds to an existing invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_invoice_number_generation", - "type": "boolean", - "required": false, - "description": "Set to true to ignore automatic invoice number generation, requiring manual entry of the invoice number. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "invoice_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "ignore_auto_invoice_number_generation": { - "value": false, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"invoice\":{\"customer_id\":\"54321\",\"date\":\"2026-02-15\",\"due_date\":\"2026-03-01\",\"reference_number\":\"PO-2026-045\",\"notes\":\"Updated per client request.\",\"line_items\":[{\"item_id\":\"1001\",\"name\":\"Design Services\",\"rate\":150.0,\"quantity\":10,\"discount\":5,\"account_id\":\"2001\",\"tax_id\":\"3001\"},{\"item_id\":\"1002\",\"name\":\"Hosting\",\"rate\":20.0,\"quantity\":12,\"account_id\":\"2002\"}],\"shipping_charge\":25.0,\"adjustment\":-10.0,\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Website redesign\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateInvoiceByCustomField", - "qualifiedName": "ZohoBooksApi.UpdateInvoiceByCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceByCustomField@1.0.0", - "description": "Update or create an invoice using a custom field value.\n\n Call this tool to update an existing invoice or create a new one using a custom field's unique value. If the value is not found and X-Upsert is true, a new invoice will be created if all required details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. This is required to specify which organization's invoice should be updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_api_name", - "type": "string", - "required": false, - "description": "The API name of the unique custom field used to locate the invoice to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_field_value", - "type": "string", - "required": false, - "description": "The unique value of the custom field used to find or create the invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_new_invoice_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new invoice if the unique custom field value is not found in existing invoices. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_invoice_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateInvoiceByCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "unique_custom_field_api_name": { - "value": "cf_project_code", - "type": "string", - "required": false - }, - "custom_field_value": { - "value": "PROJ-ABC-123", - "type": "string", - "required": false - }, - "create_new_invoice_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"1234567890\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-20\",\"reference_number\":\"INV-1001\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Consulting Services\",\"rate\":150.0,\"quantity\":10},{\"item_id\":\"987654322\",\"name\":\"Software License\",\"rate\":500.0,\"quantity\":1}],\"notes\":\"Thank you for your business.\",\"custom_fields\":[{\"label\":\"ProjectCode\",\"value\":\"PROJ-ABC-123\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateInvoiceComment", - "qualifiedName": "ZohoBooksApi.UpdateInvoiceComment", - "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceComment@1.0.0", - "description": "Update an existing comment on an invoice.\n\n Use this tool to update a specific comment on an invoice by providing the invoice and comment IDs.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "ID of the organization for which the invoice comment needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_unique_id", - "type": "string", - "required": false, - "description": "Unique identifier for the invoice to update its comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_id", - "type": "string", - "required": false, - "description": "Unique identifier of the comment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_invoice_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateInvoiceComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "60011122233", - "type": "string", - "required": false - }, - "invoice_unique_id": { - "value": "INV-2026-0001", - "type": "string", - "required": false - }, - "comment_id": { - "value": "CMT-78910", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\":{\"comment\":\"Updated invoice comment: Please review the adjusted due date.\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateInvoiceCustomFields", - "qualifiedName": "ZohoBooksApi.UpdateInvoiceCustomFields", - "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceCustomFields@1.0.0", - "description": "Update custom fields in an existing invoice.\n\n Use this tool to modify the value of custom fields in a specified invoice. It should be called when you need to change or update custom information for invoice records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization to which the invoice belongs. This is required to identify the correct organization context for the invoice update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the invoice to update custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_custom_fields_in_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateInvoiceCustomFields", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "invoice_identifier": { - "value": "INV-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"custom_fields\":[{\"index\":1,\"label\":\"Sales Rep\",\"value\":\"Jane Doe\"},{\"index\":2,\"label\":\"Project Code\",\"value\":\"PRJ-4021\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateInvoiceShippingAddress", - "qualifiedName": "ZohoBooksApi.UpdateInvoiceShippingAddress", - "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceShippingAddress@1.0.0", - "description": "Update the shipping address of a specific invoice.\n\n Use this tool to update the shipping address associated with a specific invoice in Zoho Books. It is used when there's a need to modify the shipping information for an invoice after it has been created.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization in Zoho Books. Required to specify which organization's invoice will be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_unique_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the invoice to update the shipping address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_invoice_shipping_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateInvoiceShippingAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60001234567", - "type": "string", - "required": false - }, - "invoice_unique_identifier": { - "value": "4800000123456789012", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"shipping_address\":{\"attention\":\"Jane Smith\",\"street\":\"456 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"phone\":\"+1-415-555-0199\",\"fax\":\"\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateInvoiceTemplate", - "qualifiedName": "ZohoBooksApi.UpdateInvoiceTemplate", - "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceTemplate@1.0.0", - "description": "Update the PDF template for a specific invoice.\n\nUse this tool to update the PDF template associated with a particular invoice. This is useful when you need to change the template style or format of an invoice after it has been issued.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "Provide the ID of the organization for which the invoice template is being updated.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the invoice to update the PDF template.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_template_id", - "type": "string", - "required": true, - "description": "Unique identifier for the invoice template to be updated.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_invoice_template'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateInvoiceTemplate", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - }, - "invoice_template_id": { - "value": "tmpl_5f4d3a2b", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateItemCustomFields", - "qualifiedName": "ZohoBooksApi.UpdateItemCustomFields", - "fullyQualifiedName": "ZohoBooksApi.UpdateItemCustomFields@1.0.0", - "description": "Updates custom fields in an existing item.\n\n Use this tool to update the value of custom fields in existing items. Call it when you need to modify specific custom field information for an item record in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization associated with the item. This is required to specify which organization's item custom fields should be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "item_identifier", - "type": "string", - "required": false, - "description": "Provide the unique identifier for the item to update its custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_custom_fields_in_item'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateItemCustomFields", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "60001234567", - "type": "string", - "required": false - }, - "item_identifier": { - "value": "50009876543", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"custom_fields\":[{\"label\":\"Color\",\"value\":\"Red\",\"index\":1},{\"label\":\"Material\",\"value\":\"Cotton\",\"index\":2}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateItemViaCustomField", - "qualifiedName": "ZohoBooksApi.UpdateItemViaCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateItemViaCustomField@1.0.0", - "description": "Update or create an item using a unique custom field.\n\n Use this tool to update an existing item or create a new one based on a unique custom field value in Zoho Books. If the custom field value matches, the item is updated; otherwise, a new item is created if allowed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. This ID is used to specify which organization's data you are trying to access or modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_api_name", - "type": "string", - "required": false, - "description": "The API name of the unique custom field used for identifying the item. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "The unique value of the custom field used to identify or create an item in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_item_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new item if no item matches the unique custom field value. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_item_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateItemViaCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "unique_custom_field_api_name": { - "value": "cf_sku", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "WMX200", - "type": "string", - "required": false - }, - "create_item_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"item\":{\"name\":\"Wireless Mouse - Model X200\",\"rate\":29.99,\"sku\":\"WMX200\",\"description\":\"Ergonomic wireless mouse with USB receiver\",\"unit\":\"pcs\",\"custom_fields\":[{\"api_name\":\"cf_sku\",\"value\":\"WMX200\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateJournalInZohoBooks", - "qualifiedName": "ZohoBooksApi.UpdateJournalInZohoBooks", - "fullyQualifiedName": "ZohoBooksApi.UpdateJournalInZohoBooks@1.0.0", - "description": "Updates a journal entry in Zoho Books with specified details.\n\n This tool updates an existing journal entry in Zoho Books using the provided details. It should be called when a user needs to modify a journal entry in their Zoho Books account.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books. Required for identifying which organization's journal entry to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "journal_identifier", - "type": "string", - "required": false, - "description": "The unique identifier for the journal entry to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.accountants.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_journal'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateJournalInZohoBooks", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6000000000001", - "type": "string", - "required": false - }, - "journal_identifier": { - "value": "100000000000001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"journal\": {\"date\": \"2026-02-01\", \"reference_number\": \"JN-2026-002\", \"notes\": \"Adjusted accruals for January\", \"line_items\": [{\"account_id\": \"123456789012345\", \"debit\": 1500.00, \"credit\": 0.00, \"description\": \"Accrued expense - salary\"}, {\"account_id\": \"987654321098765\", \"debit\": 0.00, \"credit\": 1500.00, \"description\": \"Accrued liability - salary\"}], \"custom_fields\": [{\"label\": \"Approval\", \"value\": \"Manager\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateLocationInZohoBooks", - "qualifiedName": "ZohoBooksApi.UpdateLocationInZohoBooks", - "fullyQualifiedName": "ZohoBooksApi.UpdateLocationInZohoBooks@1.0.0", - "description": "Update location details in Zoho Books.\n\n Use this tool to update location details in Zoho Books by specifying the location ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization in Zoho Books. It is required to identify which organization's location is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "location_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the location to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_location'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateLocationInZohoBooks", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "location_identifier": { - "value": "LOC-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"location\":{\"location_name\":\"Main Warehouse\",\"phone\":\"+1-555-123-4567\",\"is_primary\":true,\"fax\":\"+1-555-987-6543\",\"email\":\"warehouse@example.com\",\"is_taxable\":false,\"address\":{\"street\":\"123 Main St\",\"city\":\"Austin\",\"state\":\"TX\",\"zip\":\"78701\",\"country\":\"USA\"}}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateOpeningBalance", - "qualifiedName": "ZohoBooksApi.UpdateOpeningBalance", - "fullyQualifiedName": "ZohoBooksApi.UpdateOpeningBalance@1.0.0", - "description": "Update the existing opening balance information.\n\n This tool is used to update the existing opening balance information in Zoho Books. It should be called when there is a need to modify or correct the initial financial figures recorded in the system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required for updating the opening balance information. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_opening_balance'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateOpeningBalance", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"opening_balance\": {\"id\": \"ob_987654321\",\"account_id\": \"acct_123456\",\"amount\": 12500.50,\"date\": \"2024-01-01\",\"currency_code\": \"USD\",\"notes\": \"Corrected opening balance after audit\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateOrganizationDetails", - "qualifiedName": "ZohoBooksApi.UpdateOrganizationDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateOrganizationDetails@1.0.0", - "description": "Update an organization's details in Zoho Books.\n\n This tool updates the details of an organization in Zoho Books. It should be called when you need to modify existing information about a specific organization.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Unique identifier of the organization to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique string identifier for the organization to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_organization'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateOrganizationDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "organization_identifier": { - "value": "acme_corp_us", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"organization\": {\"company_name\": \"Acme Corporation\",\"email\": \"contact@acme.example\",\"phone\": \"+1-555-1234\",\"website\": \"https://www.acme.example\",\"currency_id\": \"USD\",\"financial_year_start_month\": \"April\",\"tax_registration_number\": \"TAX-987654321\",\"address\": {\"street\": \"123 Industrial Way\",\"city\": \"Metropolis\",\"state\": \"NY\",\"zip\": \"10001\",\"country\": \"USA\"}}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdatePaymentByCustomField", - "qualifiedName": "ZohoBooksApi.UpdatePaymentByCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdatePaymentByCustomField@1.0.0", - "description": "Update or upsert a customer payment using a unique custom field.\n\n Use this tool to update an existing customer payment or create a new one if it doesn't exist, by specifying a unique value from a custom field. The unique custom field value helps identify the payment to update. If upsert is enabled, a new payment will be created when the unique value is not found.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization whose payment is being updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_api_name", - "type": "string", - "required": false, - "description": "API name of the unique custom field used to identify the payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "The unique value of the custom field used to identify or create a payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_new_payment_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new payment when no matching unique custom field value is found. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_customer_payment_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdatePaymentByCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "unique_custom_field_api_name": { - "value": "cf_payment_reference", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "INV-PAY-2026-0001", - "type": "string", - "required": false - }, - "create_new_payment_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"9876543210\",\"amount\":1500.00,\"payment_mode\":\"Credit Card\",\"date\":\"2026-02-18\",\"reference_number\":\"CC-1234\",\"notes\":\"Payment for invoice INV-1001\",\"custom_fields\":[{\"label\":\"Payment Reference\",\"value\":\"INV-PAY-2026-0001\",\"api_name\":\"cf_payment_reference\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdatePaymentRefund", - "qualifiedName": "ZohoBooksApi.UpdatePaymentRefund", - "fullyQualifiedName": "ZohoBooksApi.UpdatePaymentRefund@1.0.0", - "description": "Update details of a customer payment refund.\n\n This tool updates the details of a refunded transaction for a customer payment in Zoho Books. It should be called when you need to modify existing refund details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. Required to access the organization's data. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "customer_payment_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the customer payment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "refund_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the refund transaction to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.customerpayments.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_customer_payment_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdatePaymentRefund", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "customer_payment_identifier": { - "value": "cp_987654321", - "type": "string", - "required": false - }, - "refund_identifier": { - "value": "rf_54321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"refund\":{\"amount\":150.00,\"refund_date\":\"2026-02-15\",\"refund_mode\":\"Bank Transfer\",\"reference_number\":\"REF-20260215-001\",\"notes\":\"Partial refund due to returned items\",\"bank_charge\":2.5,\"account_id\":\"78901234567890\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateProjectDetails", - "qualifiedName": "ZohoBooksApi.UpdateProjectDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateProjectDetails@1.0.0", - "description": "Update details of a project in Zoho Books.\n\n This tool is called to update the details of a specific project within Zoho Books. It should be used when you need to modify project information such as its name, status, or any other attributes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization within Zoho Books, required to identify the organization whose project is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "project_unique_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the project to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_project'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateProjectDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "project_unique_identifier": { - "value": "proj_987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"project\":{\"project_name\":\"Website Redesign\",\"status\":\"in_progress\",\"billing_type\":\"fixed_fee\",\"start_date\":\"2026-01-15\",\"end_date\":\"2026-06-30\",\"description\":\"Redesigning corporate website to improve UX and performance.\",\"project_manager_id\":\"452367890\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateProjectTask", - "qualifiedName": "ZohoBooksApi.UpdateProjectTask", - "fullyQualifiedName": "ZohoBooksApi.UpdateProjectTask@1.0.0", - "description": "Update the details of a project task.\n\n Use this tool to update the details of a specific task within a project in Zoho Books. It should be called when you need to change task information such as its status, due date, or other attributes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books to identify the context for the task update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the project in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "task_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the task to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_task'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateProjectTask", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "772381000000123456", - "type": "string", - "required": false - }, - "project_identifier": { - "value": "772381000000654321", - "type": "string", - "required": false - }, - "task_identifier": { - "value": "772381000000765432", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"name\":\"Design mockups\",\"description\":\"Update UI mockups for the dashboard based on new branding\",\"status\":\"in_progress\",\"start_date\":\"2026-02-20\",\"due_date\":\"2026-03-15\",\"estimated_hours\":12.5,\"billable\":true,\"owner_id\":\"987654321\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateProjectUserDetails", - "qualifiedName": "ZohoBooksApi.UpdateProjectUserDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateProjectUserDetails@1.0.0", - "description": "Update user details in a specific project.\n\n Use this tool to update details of a user within a specified project in Zoho Books. It confirms the changes made to the user's information.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required to update the user's project details. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "project_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the project in Zoho Books. Required to specify which project's user details are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "user_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the user to be updated within the project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_project_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateProjectUserDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "project_identifier": { - "value": "proj_987654321", - "type": "string", - "required": false - }, - "user_identifier": { - "value": "user_87654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"project_user\":{\"user_id\":\"87654321\",\"role\":\"Developer\",\"hourly_rate\":45.0,\"is_active\":true,\"billable\":true,\"email\":\"jane.doe@example.com\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateProjectWithCustomField", - "qualifiedName": "ZohoBooksApi.UpdateProjectWithCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateProjectWithCustomField@1.0.0", - "description": "Update or create projects using a unique custom field.\n\n This tool updates an existing project or creates a new one if no match is found, using a unique custom field value in Zoho Books. Utilize it when you need to modify projects with specific identifiers.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "A string representing the organization's ID required to update or create a project using the custom field. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_api_name", - "type": "string", - "required": false, - "description": "The API name of the unique custom field used to identify the project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "The unique value for the custom field used to identify or create a project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_new_project_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new project if no existing project matches the unique custom field value. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_projects_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateProjectWithCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "unique_custom_field_api_name": { - "value": "cf_unique_project_code", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "PROJ-2026-001", - "type": "string", - "required": false - }, - "create_new_project_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"project\":{\"name\":\"Alpha Website Redesign\",\"billing\":\"project\",\"owner_id\":\"987654321\",\"start_date\":\"2026-02-01\",\"end_date\":\"2026-06-30\",\"budget_hours\":500,\"status\":\"active\",\"custom_fields\":[{\"api_name\":\"cf_unique_project_code\",\"value\":\"PROJ-2026-001\"}],\"description\":\"Redesign the corporate website to improve conversion rates and accessibility.\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdatePurchaseOrder", - "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrder", - "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrder@1.0.0", - "description": "Update an existing purchase order in Zoho Books.\n\n Use this tool to update details of a specific purchase order in Zoho Books. It should be called when changes to a purchase order need to be made.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization for which the purchase order is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the specific purchase order to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "attachment_file_path", - "type": "string", - "required": false, - "description": "File path of the attachment with extensions: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "If true, ignore automatic purchase order number generation and manually specify the order number. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_purchase_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdatePurchaseOrder", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6789012345", - "type": "string", - "required": false - }, - "purchase_order_identifier": { - "value": "PO-2026-045", - "type": "string", - "required": false - }, - "attachment_file_path": { - "value": "/tmp/po_attachment.pdf", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": false, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"purchase_order\":{\"purchase_order_number\":\"PO-2026-045\",\"vendor_id\":\"1234567890\",\"contact_persons\":[\"9876543210\"],\"date\":\"2026-02-15\",\"delivery_date\":\"2026-03-01\",\"reference_number\":\"REF-00123\",\"exchange_rate\":1.0,\"discount\":10.0,\"is_discount_before_tax\":false,\"discount_type\":\"fixed\",\"shipping_charge\":15.0,\"adjustment\":-5.0,\"notes\":\"Updated delivery date and adjusted pricing.\",\"line_items\":[{\"item_id\":\"111111\",\"name\":\"Widget A\",\"description\":\"Updated spec for Widget A\",\"quantity\":10,\"rate\":25.0,\"discount\":5.0,\"tax_id\":\"222222\",\"account_id\":\"333333\"},{\"item_id\":\"444444\",\"name\":\"Widget B\",\"description\":\"Added second line item\",\"quantity\":5,\"rate\":50.0,\"tax_id\":\"555555\",\"account_id\":\"333333\"}],\"billing_address\":{\"address\":\"123 Billing St\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10001\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"456 Shipping Ave\",\"city\":\"Gotham\",\"state\":\"NY\",\"zip\":\"10002\",\"country\":\"USA\"},\"custom_fields\":[{\"index\":1,\"value\":\"Urgent\"},{\"index\":2,\"value\":\"Internal-Ref-42\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdatePurchaseOrderBillingAddress", - "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderBillingAddress", - "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderBillingAddress@1.0.0", - "description": "Update the billing address for a specific purchase order.\n\n Use this tool to modify the billing address of a single purchase order in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization to update the billing address in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the specific purchase order to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_purchase_order_billing_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdatePurchaseOrderBillingAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "800123456789", - "type": "string", - "required": false - }, - "purchase_order_identifier": { - "value": "PO-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"billing_address\":{\"address\":\"123 Acme St\",\"street2\":\"Suite 400\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10101\",\"country\":\"USA\",\"phone\":\"+1-555-0100\",\"fax\":\"+1-555-0101\",\"attention\":\"John Doe\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdatePurchaseOrderByCustomField", - "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderByCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderByCustomField@1.0.0", - "description": "Update or create a purchase order via custom field value.\n\n Use this tool to update an existing purchase order or create a new one if needed, based on a unique custom field value. It should be called when you need to modify a purchase order by using a custom field's unique identifier.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. This is required to specify which organization's purchase order needs to be updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_api_name", - "type": "string", - "required": false, - "description": "The API name of the unique custom field used to update or identify the purchase order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "Unique value for the custom field to retrieve and update the purchase order. This should match the specific custom field value used to identify the order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_new_order_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new purchase order if no existing order matches the unique custom field value. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_purchase_order_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdatePurchaseOrderByCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "unique_custom_field_api_name": { - "value": "po_external_id", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "EXT-PO-2026-001", - "type": "string", - "required": false - }, - "create_new_order_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"987654321\",\"purchaseorder_number\":\"PO-2026-1001\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-20\",\"line_items\":[{\"item_id\":\"111222333\",\"description\":\"Widget A\",\"quantity\":10,\"rate\":25.5,\"tax_id\":\"VAT-01\"},{\"item_id\":\"444555666\",\"description\":\"Widget B\",\"quantity\":5,\"rate\":100.0,\"tax_id\":\"VAT-01\"}],\"shipping_charge\":15.0,\"adjustment\":0.0,\"custom_fields\":[{\"label\":\"External PO ID\",\"value\":\"EXT-PO-2026-001\",\"api_name\":\"po_external_id\"}],\"notes\":\"Automated update via API\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdatePurchaseOrderComment", - "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderComment", - "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderComment@1.0.0", - "description": "Update an existing comment on a purchase order.\n\n Use this tool to update a specific comment on a purchase order in Zoho Books. It should be called when you need to modify or correct information in a comment related to a purchase order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID representing the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": false, - "description": "The unique identifier for the purchase order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the comment to be updated in the purchase order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_purchase_order_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdatePurchaseOrderComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "purchase_order_id": { - "value": "PO-98765", - "type": "string", - "required": false - }, - "comment_identifier": { - "value": "CMT-54321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\": {\"content\": \"Updated: Please ship by May 1st instead of April 25th.\", \"is_private\": false}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdatePurchaseOrderEmailAttachment", - "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderEmailAttachment", - "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderEmailAttachment@1.0.0", - "description": "Update email attachment preference for a purchase order.\n\nThis tool updates the preference to include or exclude the attached file when emailing a specific purchase order. It should be called when you need to change whether the attachment is sent via email for a particular purchase order.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization for which the purchase order email attachment preference is being updated.", - "enum": null, - "inferrable": true - }, - { - "name": "purchase_order_id", - "type": "string", - "required": true, - "description": "Unique identifier of the purchase order to update the email attachment preference for.", - "enum": null, - "inferrable": true - }, - { - "name": "include_attachment_with_email", - "type": "boolean", - "required": true, - "description": "Boolean to determine if the attachment should be sent with the purchase order email. Set to true to include the attachment, or false to exclude it.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.purchaseorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_purchase_order_attachment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdatePurchaseOrderEmailAttachment", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "purchase_order_id": { - "value": "PO-2026-0001", - "type": "string", - "required": true - }, - "include_attachment_with_email": { - "value": true, - "type": "boolean", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateRecurringBill", - "qualifiedName": "ZohoBooksApi.UpdateRecurringBill", - "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringBill@1.0.0", - "description": "Update details of a recurring bill in Zoho Books.\n\n Use this tool to update a recurring bill in Zoho Books. Modify its details including line items by removing them from the list if needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization in Zoho Books. This ID is required to specify the organization whose recurring bill is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_bill_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the recurring bill to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.bills.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_recurring_bill'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateRecurringBill", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "recurring_bill_identifier": { - "value": "RB-2026-004", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"1234567890\",\"reference_number\":\"RB-2026-004\",\"recurrence\":{\"repeat_every\":1,\"repeat_period\":\"month\"},\"start_date\":\"2026-03-01\",\"end_date\":\"2026-12-01\",\"line_items\":[{\"line_item_id\":\"111\",\"item_id\":\"98765\",\"description\":\"Monthly maintenance\",\"rate\":150.00,\"quantity\":1,\"discount\":0,\"account_id\":\"55555\",\"tax_id\":\"vat_01\"},{\"line_item_id\":\"112\",\"item_id\":\"98766\",\"description\":\"On-site support\",\"rate\":200.00,\"quantity\":2,\"is_deleted\":true}],\"notes\":\"Updated recurring bill schedule and removed a line item.\",\"currency_id\":\"USD\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateRecurringBillCustomField", - "qualifiedName": "ZohoBooksApi.UpdateRecurringBillCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringBillCustomField@1.0.0", - "description": "Update or create a recurring bill using a unique custom field.\n\n This tool updates a recurring bill by identifying it through a custom field with a unique value. If the unique value does not match any existing recurring bills and the X-Upsert header is true, a new bill will be created if the necessary details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization associated with the recurring bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_field_unique_identifier_key", - "type": "string", - "required": false, - "description": "The API name of the unique custom field used to identify the recurring bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "Unique value of the custom field used to identify the recurring bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "allow_creation_if_missing", - "type": "boolean", - "required": false, - "description": "Set to true to create a new recurring bill if the unique custom field value is not found. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_recurring_bill_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateRecurringBillCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "668123456", - "type": "string", - "required": false - }, - "custom_field_unique_identifier_key": { - "value": "cf_unique_code", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "RBILL-2026-001", - "type": "string", - "required": false - }, - "allow_creation_if_missing": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"123456789012345\",\"reference_number\":\"RB-001\",\"start_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"frequency\":\"MONTHLY\",\"day_of_month\":1,\"currency_code\":\"USD\",\"line_items\":[{\"name\":\"Monthly subscription\",\"description\":\"Service subscription\",\"rate\":99.99,\"quantity\":1}],\"notes\":\"Recurring bill created via API\",\"custom_fields\":[{\"api_name\":\"cf_unique_code\",\"value\":\"RBILL-2026-001\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateRecurringExpense", - "qualifiedName": "ZohoBooksApi.UpdateRecurringExpense", - "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringExpense@1.0.0", - "description": "Update or create a recurring expense using a custom field.\n\n Use this tool to update a recurring expense in Zoho Books by specifying a unique custom field value. If the expense doesn't exist and upsert is enabled, a new expense can be created. This is useful for maintaining accurate financial records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Unique identifier for the organization whose recurring expense is to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_api_name", - "type": "string", - "required": false, - "description": "Unique CustomField API Name to identify the recurring expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "Unique value of the CustomField used to identify the recurring expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_new_recurring_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new recurring expense if the unique custom field value is not found. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.expenses.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_recurring_expense_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateRecurringExpense", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "unique_custom_field_api_name": { - "value": "custom_field_abc", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "EXP-2026-001", - "type": "string", - "required": false - }, - "create_new_recurring_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"recurring_expense\":{\"vendor_id\":\"987654321\",\"reference_number\":\"RECUR-EXP-001\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-12-31\",\"recurring_frequency\":\"monthly\",\"repeat_every\":1,\"recurring_day\":1,\"notes\":\"Monthly maintenance fee\",\"line_items\":[{\"account_id\":\"111111111\",\"description\":\"Maintenance service\",\"rate\":150.00,\"quantity\":1}],\"custom_fields\":[{\"customfield_api_name\":\"custom_field_abc\",\"value\":\"EXP-2026-001\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateRecurringInvoice", - "qualifiedName": "ZohoBooksApi.UpdateRecurringInvoice", - "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringInvoice@1.0.0", - "description": "Update details of a recurring invoice in Zoho Books.\n\n Use this tool to modify an existing recurring invoice in Zoho Books by specifying the invoice ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books. Required for updating a recurring invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_id", - "type": "string", - "required": false, - "description": "Unique identifier of the recurring invoice to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_recurring_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateRecurringInvoice", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": false - }, - "recurring_invoice_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"recurring_invoice\":{\"customer_id\":\"1122334455\",\"recurrence_frequency\":1,\"recurrence_period\":\"months\",\"start_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"day_of_month\":15,\"items\":[{\"item_id\":\"99887766\",\"name\":\"Website Maintenance\",\"rate\":150.0,\"quantity\":1}],\"note\":\"Monthly maintenance invoice updated\",\"terms\":\"Payment due within 15 days\",\"template_id\":\"2001\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateRecurringInvoiceCustomField", - "qualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceCustomField@1.0.0", - "description": "Update or create a recurring invoice using a custom field.\n\n This tool updates an existing recurring invoice or creates a new one using a custom field's unique value. Use when you need to update invoices based on unique custom identifiers. If the unique key isn't found and the upsert option is true, a new invoice is created.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. This ID is required to update or create a recurring invoice using the custom field. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_api_name", - "type": "string", - "required": false, - "description": "The unique API name of the custom field used to identify which recurring invoice to update or create. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "The unique value for the custom field used to identify and update the recurring invoice. This should be a unique string associated with a custom field configured to reject duplicates. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "enable_upsert", - "type": "boolean", - "required": false, - "description": "Set to true to create a new invoice if no existing invoice matches the unique identifier. Set to false to update only without creating a new invoice. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_recurring_invoice_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateRecurringInvoiceCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "860102221", - "type": "string", - "required": false - }, - "unique_custom_field_api_name": { - "value": "cf_subscription_id", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "SUBS-2026-0001", - "type": "string", - "required": false - }, - "enable_upsert": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"customer_id\":\"123456789\",\"reference_number\":\"RECUR-1001\",\"frequency\":\"MONTHLY\",\"repeat_every\":1,\"start_date\":\"2026-02-01\",\"end_date\":\"2026-12-31\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Monthly subscription\",\"rate\":49.99,\"quantity\":1}],\"custom_fields\":[{\"customfield_id\":\"cf_subscription_id\",\"index\":1,\"value\":\"SUBS-2026-0001\"}],\"notes\":\"Automated monthly billing\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateRecurringInvoiceTemplate", - "qualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceTemplate", - "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceTemplate@1.0.0", - "description": "Update the PDF template for a recurring invoice.\n\n This tool updates the PDF template associated with a specific recurring invoice in Zoho Books. It is used when you need to change the template for invoices that are generated on a recurring basis.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique identifier of the organization. This ID is used to specify which organization's recurring invoice template will be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "recurring_invoice_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the recurring invoice to update the PDF template for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_template_id", - "type": "string", - "required": false, - "description": "Unique identifier of the recurring invoice template to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_recurring_invoice_template'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateRecurringInvoiceTemplate", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "4256789012345678901", - "type": "string", - "required": false - }, - "recurring_invoice_identifier": { - "value": "REC_INV_987654321", - "type": "string", - "required": false - }, - "invoice_template_id": { - "value": "TPL_111222333", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"pdf_template\":{\"template_id\":\"TPL_111222333\",\"name\":\"Corporate Template V2\",\"is_default\":false,\"header\":\"Company Header - Q1\",\"footer\":\"Payment due in 30 days. Thank you.\",\"notes\":\"Updated template for new branding and terms\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateRefundTransaction", - "qualifiedName": "ZohoBooksApi.UpdateRefundTransaction", - "fullyQualifiedName": "ZohoBooksApi.UpdateRefundTransaction@1.0.0", - "description": "Update the refunded transaction details.\n\n Use this tool to update the details of a refunded transaction associated with a specific credit note. This is helpful when corrections or updates are needed for bookkeeping or record maintenance.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization. Required to identify which organization's records are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the credit note to update the refund transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "credit_note_refund_id", - "type": "string", - "required": false, - "description": "Provide the unique identifier of the credit note refund to update its transaction details. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.creditnotes.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_credit_note_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateRefundTransaction", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "credit_note_identifier": { - "value": "CN-2026-00042", - "type": "string", - "required": false - }, - "credit_note_refund_id": { - "value": "RFND-98765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"refund_transaction\":{\"payment_mode\":\"Bank Transfer\",\"transaction_number\":\"TRX-2026-0001\",\"date\":\"2026-02-15\",\"amount\":150.00,\"reference_number\":\"REF-7890\",\"notes\":\"Corrected transaction amount and reference\",\"account_id\":\"123456789\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateRetainerInvoiceComment", - "qualifiedName": "ZohoBooksApi.UpdateRetainerInvoiceComment", - "fullyQualifiedName": "ZohoBooksApi.UpdateRetainerInvoiceComment@1.0.0", - "description": "Update a comment on a retainer invoice.\n\n Use this tool to update an existing comment of a retainer invoice by specifying the invoice and comment IDs.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization to which the retainer invoice belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": false, - "description": "Unique identifier of the retainer invoice to update the comment for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_identifier", - "type": "string", - "required": false, - "description": "The unique identifier of the comment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_retainer_invoice_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateRetainerInvoiceComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "retainer_invoice_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "comment_identifier": { - "value": "cmt_112233", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\": {\"content\": \"Updated comment text for retainer invoice.\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateSalesOrderBillingAddress", - "qualifiedName": "ZohoBooksApi.UpdateSalesOrderBillingAddress", - "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderBillingAddress@1.0.0", - "description": "Updates the billing address for a specific sales order.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization associated with the sales order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the sales order to update the billing address for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_sales_order_billing_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateSalesOrderBillingAddress", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "sales_order_identifier": { - "value": "987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"billing_address\":{\"attention\":\"Jane Doe\",\"address\":\"123 Market St\",\"street2\":\"Suite 500\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\",\"phone\":\"+1-415-555-0132\",\"fax\":\"+1-415-555-0150\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateSalesOrderComment", - "qualifiedName": "ZohoBooksApi.UpdateSalesOrderComment", - "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderComment@1.0.0", - "description": "Update an existing comment on a sales order.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": false, - "description": "Unique identifier of the sales order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "comment_id", - "type": "string", - "required": false, - "description": "Unique identifier of the comment associated with the sales order that needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_sales_order_comment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateSalesOrderComment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": false - }, - "sales_order_id": { - "value": "SO-00012345", - "type": "string", - "required": false - }, - "comment_id": { - "value": "CMT-98765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"comment\": {\"content\": \"Updated comment text for sales order.\", \"is_public\": true}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateSalesOrderCustomFields", - "qualifiedName": "ZohoBooksApi.UpdateSalesOrderCustomFields", - "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderCustomFields@1.0.0", - "description": "Update custom fields in existing sales orders efficiently.\n\n Call this tool to update the value of custom fields in existing sales orders when you need to modify order details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization associated with the sales order. This is required to identify which organization's sales order needs updating. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": false, - "description": "Unique identifier for the sales order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_salesorder_customfields'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateSalesOrderCustomFields", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "sales_order_id": { - "value": "1000000001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"salesorder\":{\"salesorder_id\":\"1000000001\",\"custom_fields\":[{\"customfield_id\":\"cf_001\",\"value\":\"Priority: High\"},{\"customfield_id\":\"cf_002\",\"value\":\"2026-03-01\"},{\"label\":\"Special Instructions\",\"value\":\"Handle with care\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateSalesOrderInZohoBooks", - "qualifiedName": "ZohoBooksApi.UpdateSalesOrderInZohoBooks", - "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderInZohoBooks@1.0.0", - "description": "Update details of an existing sales order in Zoho Books.\n\n Use this tool to update the details of an existing sales order in Zoho Books. It also allows for the deletion of line items by omitting them from the update request.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization to which the sales order belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": false, - "description": "Unique identifier of the sales order to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "total_number_of_files", - "type": "integer", - "required": false, - "description": "Specify the total number of files to be attached to the sales order update. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "attach_document", - "type": "string", - "required": false, - "description": "A document to be attached to the sales order. Provide the file path or URL as a string. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "ignore_auto_number_generation", - "type": "boolean", - "required": false, - "description": "Set to TRUE to ignore auto-generation of the sales order number. This requires manually entering the number. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "allow_email_sending", - "type": "boolean", - "required": false, - "description": "Determine if the updated sales order can be sent via email. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_sales_order'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateSalesOrderInZohoBooks", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "sales_order_id": { - "value": "987654321098765", - "type": "string", - "required": false - }, - "total_number_of_files": { - "value": 1, - "type": "integer", - "required": false - }, - "attach_document": { - "value": "https://example.com/docs/so-2026-0001-attachment.pdf", - "type": "string", - "required": false - }, - "ignore_auto_number_generation": { - "value": true, - "type": "boolean", - "required": false - }, - "allow_email_sending": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"salesorder_number\":\"SO-2026-0001\",\"customer_id\":\"54321000000012345\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-18\",\"line_items\":[{\"item_id\":\"54321000000054321\",\"name\":\"Premium Widget\",\"description\":\"Updated widget description\",\"rate\":49.99,\"quantity\":10,\"discount\":5.0,\"tax_id\":\"54321000000098765\"},{\"name\":\"Service Charge\",\"description\":\"One-time setup fee\",\"rate\":150.0,\"quantity\":1,\"is_custom_item\":true}],\"shipping_address\":{\"attention\":\"Jane Doe\",\"address\":\"123 Main St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"billing_address\":{\"attention\":\"Jane Doe\",\"address\":\"123 Main St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"notes\":\"Please deliver between 9am-5pm.\",\"terms\":\"Net 30\",\"shipping_charge\":20.0,\"adjustment\":-5.0,\"exchange_rate\":1.0}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateSalesOrderSubStatus", - "qualifiedName": "ZohoBooksApi.UpdateSalesOrderSubStatus", - "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderSubStatus@1.0.0", - "description": "Update the sub status of a sales order in Zoho Books.\n\nThis tool updates the sub status of a specified sales order in Zoho Books, identified by the sales order ID and the new status code. It should be called when you need to change the status of an existing sales order.", - "parameters": [ - { - "name": "organization_identifier", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. This ID is required to specify which organization's sales order needs an update.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier for the specific sales order to update.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_status_code", - "type": "string", - "required": true, - "description": "The unique code representing the new status for a sales order. This is required to update the status in Zoho Books.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_sales_order_sub_status'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateSalesOrderSubStatus", - "parameters": { - "organization_identifier": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-00012345", - "type": "string", - "required": true - }, - "sales_order_status_code": { - "value": "pending_approval", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateSalesOrderTemplate", - "qualifiedName": "ZohoBooksApi.UpdateSalesOrderTemplate", - "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderTemplate@1.0.0", - "description": "Update the PDF template for a sales order.\n\nThis tool updates the PDF template associated with a specific sales order. Use it when you need to change the template for an existing sales order.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique identifier for the organization associated with the sales order.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_id", - "type": "string", - "required": true, - "description": "Unique identifier for the sales order to be updated with a new PDF template.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_template_id", - "type": "string", - "required": true, - "description": "Unique identifier of the sales order template to update.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_sales_order_template'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateSalesOrderTemplate", - "parameters": { - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": true - }, - "sales_order_id": { - "value": "SO-2026-000123", - "type": "string", - "required": true - }, - "sales_order_template_id": { - "value": "SOT-987654321", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateSalesOrderWithCustomField", - "qualifiedName": "ZohoBooksApi.UpdateSalesOrderWithCustomField", - "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderWithCustomField@1.0.0", - "description": "Update or create a sales order using a custom field.\n\n Use a custom field's unique value to update an existing sales order or create a new one if the order does not exist and the required details are provided. This tool is useful when managing sales orders using specific identifiers in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_api_name", - "type": "string", - "required": false, - "description": "The API name of the unique custom field used to identify the sales order to update or create. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "unique_custom_field_value", - "type": "string", - "required": false, - "description": "The unique value of the custom field used to retrieve and update a specific sales order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "allow_creation_if_not_found", - "type": "boolean", - "required": false, - "description": "Set to true to create a new sales order if the unique custom field value is not found. Complete details are required for creation. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_sales_order_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateSalesOrderWithCustomField", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "unique_custom_field_api_name": { - "value": "external_order_id", - "type": "string", - "required": false - }, - "unique_custom_field_value": { - "value": "EXT-2026-0001", - "type": "string", - "required": false - }, - "allow_creation_if_not_found": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"salesorder\": {\"customer_id\": \"987654321\",\"date\": \"2026-02-18\",\"reference_number\": \"SO-2026-0001\",\"salesorder_items\": [{\"item_id\": \"112233\",\"description\": \"Widget A\",\"rate\": 49.99,\"quantity\": 2},{\"item_id\": \"112234\",\"description\": \"Widget B\",\"rate\": 29.5,\"quantity\": 1}],\"custom_fields\": [{\"label\": \"external_order_id\",\"api_name\": \"external_order_id\",\"value\": \"EXT-2026-0001\"}],\"notes\": \"Created via API using unique custom field\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateSalesReceipt", - "qualifiedName": "ZohoBooksApi.UpdateSalesReceipt", - "fullyQualifiedName": "ZohoBooksApi.UpdateSalesReceipt@1.0.0", - "description": "Update an existing sales receipt in Zoho Books.\n\n This tool is used to update details of an existing sales receipt in Zoho Books. It should be called when modifications to sales receipt data are required, such as changing amounts, dates, or other relevant information.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization in Zoho Books. It is required to specify which organization's sales receipt needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_receipt_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the sales receipt to be updated. This is required to specify which receipt to modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_sales_receipt'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateSalesReceipt", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "6789012345", - "type": "string", - "required": false - }, - "sales_receipt_identifier": { - "value": "SR-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"salesreceipt\":{\"customer_id\":\"1234567890\",\"date\":\"2026-02-15\",\"reference_number\":\"SR-2026-045\",\"billing_address\":{\"address\":\"123 Main St\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10001\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"456 Oak Ave\",\"city\":\"Gotham\",\"state\":\"NY\",\"zip\":\"10002\",\"country\":\"USA\"},\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Consulting services\",\"rate\":150.0,\"quantity\":10,\"tax_id\":\"TAX-001\"},{\"item_id\":\"987654322\",\"description\":\"Software license\",\"rate\":499.99,\"quantity\":1,\"tax_id\":\"TAX-002\",\"discount\":10}],\"shipping_charge\":25.0,\"adjustment\":-5.0,\"notes\":\"Updated per client request\",\"custom_fields\":[{\"label\":\"PO Number\",\"value\":\"PO-4512\"}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateShippingAddressSalesOrder", - "qualifiedName": "ZohoBooksApi.UpdateShippingAddressSalesOrder", - "fullyQualifiedName": "ZohoBooksApi.UpdateShippingAddressSalesOrder@1.0.0", - "description": "Update the shipping address for a specific sales order.\n\n This tool updates the shipping address for a specific sales order in Zoho Books. It should be called when there's a need to modify the delivery location of an existing order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The ID of the organization in Zoho Books to update the shipping address for the sales order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "sales_order_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the sales order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.salesorders.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_sales_order_shipping_address'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateShippingAddressSalesOrder", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "1234567890", - "type": "string", - "required": false - }, - "sales_order_identifier": { - "value": "SO-1001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"shipping_address\":{\"attention\":\"John Doe\",\"address\":\"456 Warehouse Rd\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10101\",\"country\":\"United States\",\"phone\":\"+1-555-987-6543\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateTaxAuthorityDetails", - "qualifiedName": "ZohoBooksApi.UpdateTaxAuthorityDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateTaxAuthorityDetails@1.0.0", - "description": "Update details of a tax authority.\n\n Use this tool to update information for a specific tax authority. Ideal for modifications to existing records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization for which the tax authority details need to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_authority_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the tax authority to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_tax_authority'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateTaxAuthorityDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "tax_authority_identifier": { - "value": "TA_98765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"tax_authority_name\":\"State Sales Tax\",\"is_active\":true,\"tax_id\":\"ST-001\",\"description\":\"Updated rates effective 2026-04-01\",\"tax_authority_code\":\"STX\",\"default_tax_rate\":7.25,\"address\":{\"line1\":\"100 Main Street\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62701\",\"country\":\"USA\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateTaxDetails", - "qualifiedName": "ZohoBooksApi.UpdateTaxDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateTaxDetails@1.0.0", - "description": "Update the details of a specified tax.\n\n Use this tool to update the details of a simple or compound tax by providing the tax ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique identifier for the organization that owns the tax to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the tax to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_tax'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateTaxDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": false - }, - "tax_identifier": { - "value": "7890", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"tax\":{\"name\":\"State VAT - Updated\",\"rate\":8.25,\"is_compound\":false,\"inclusive\":false,\"description\":\"Updated tax rate effective 2026-04-01\",\"active\":true}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateTaxExemptionDetails", - "qualifiedName": "ZohoBooksApi.UpdateTaxExemptionDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateTaxExemptionDetails@1.0.0", - "description": "Update the details of a tax exemption.\n\n This tool updates the information of a specific tax exemption. It should be called when changes to tax exemption records are needed, such as modifying existing details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier of the organization for which the tax exemption needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_exemption_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the tax exemption to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_tax_exemption'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateTaxExemptionDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "600123456", - "type": "string", - "required": false - }, - "tax_exemption_identifier": { - "value": "TE-2024-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"tax_exemption\":{\"tax_exemption_number\":\"EXEMPT-001\",\"name\":\"Non-profit exemption\",\"customer_id\":\"CUST-1001\",\"valid_from\":\"2023-01-01\",\"valid_till\":\"2025-12-31\",\"remarks\":\"Updated exemption details\",\"is_active\":true}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateTaxGroupDetails", - "qualifiedName": "ZohoBooksApi.UpdateTaxGroupDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateTaxGroupDetails@1.0.0", - "description": "Update details of a specific tax group in Zoho Books.\n\n This tool updates the details of a tax group in Zoho Books using the provided tax group ID. It should be called when changes are needed to the tax group's configuration.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "tax_group_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the tax group to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_tax_group'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateTaxGroupDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789012345", - "type": "string", - "required": false - }, - "tax_group_identifier": { - "value": "987654321098765", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"tax_group\":{\"tax_group_name\":\"GST Composite\",\"status\":\"active\",\"taxes\":[{\"tax_name\":\"CGST\",\"tax_percentage\":9},{\"tax_name\":\"SGST\",\"tax_percentage\":9}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateTimeEntry", - "qualifiedName": "ZohoBooksApi.UpdateTimeEntry", - "fullyQualifiedName": "ZohoBooksApi.UpdateTimeEntry@1.0.0", - "description": "Updates an existing logged time entry.\n\n Use this tool to modify details of a previously logged time entry in Zoho Books. Ideal when adjustments or updates need to be made to existing time logs.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "ID of the organization to which the time entry belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "time_entry_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the existing time entry to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.projects.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_time_entry'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateTimeEntry", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "7890123456789012345", - "type": "string", - "required": false - }, - "time_entry_identifier": { - "value": "TE-20260218-001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"time_entry\":{\"employee_id\":\"EMP-54321\",\"project_id\":\"PROJ-98765\",\"task_id\":\"TASK-11223\",\"date\":\"2026-02-17\",\"hours\":4.5,\"billable\":true,\"notes\":\"Adjusted hours after client feedback.\",\"started_at\":\"2026-02-17T09:15:00Z\",\"stopped_at\":\"2026-02-17T13:45:00Z\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateUserDetails", - "qualifiedName": "ZohoBooksApi.UpdateUserDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateUserDetails@1.0.0", - "description": "Update user details in Zoho Books.\n\n Use this tool to update the information of an existing user in Zoho Books. Call it when changes to a user's profile are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique ID of the organization whose user's details are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "user_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the user to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_user'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateUserDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "543210987654321", - "type": "string", - "required": false - }, - "user_identifier": { - "value": "1020304050", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"user\":{\"first_name\":\"John\",\"last_name\":\"Doe\",\"email\":\"john.doe@example.com\",\"phone\":\"+1-555-0100\",\"role\":\"Accountant\",\"is_active\":true}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateVendorCredit", - "qualifiedName": "ZohoBooksApi.UpdateVendorCredit", - "fullyQualifiedName": "ZohoBooksApi.UpdateVendorCredit@1.0.0", - "description": "Update an existing vendor credit in Zoho Books.\n\n Use this tool to update the details of a specific vendor credit in Zoho Books. Call this when modifications to vendor credits are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_identifier", - "type": "string", - "required": false, - "description": "The unique identifier of the organization in Zoho Books. Required to update vendor credit. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_id", - "type": "string", - "required": false, - "description": "The unique identifier for the vendor credit to be updated. This string is required to locate the specific credit. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_vendor_credit'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateVendorCredit", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_identifier": { - "value": "123456789", - "type": "string", - "required": false - }, - "vendor_credit_id": { - "value": "987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"555555\",\"reference_number\":\"VC-2026-001\",\"date\":\"2026-02-10\",\"total\":1500.0,\"line_items\":[{\"item_id\":\"11111\",\"description\":\"Replacement parts\",\"rate\":500.0,\"quantity\":3,\"tax_id\":\"22222\"}],\"notes\":\"Updated vendor credit to include additional replacement parts\",\"exchange_rate\":1.0}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateVendorCreditRefund", - "qualifiedName": "ZohoBooksApi.UpdateVendorCreditRefund", - "fullyQualifiedName": "ZohoBooksApi.UpdateVendorCreditRefund@1.0.0", - "description": "Update a refunded vendor credit transaction.\n\n Use this tool to update details of a refunded vendor credit transaction by specifying the vendor credit ID and refund ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Unique identifier for the organization. This is needed to specify which organization the vendor credit refund update applies to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the vendor credit to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_credit_refund_identifier", - "type": "string", - "required": false, - "description": "Unique identifier for the vendor credit refund transaction that needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.debitnotes.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_vendor_credit_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateVendorCreditRefund", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "vendor_credit_identifier": { - "value": "VC-1001", - "type": "string", - "required": false - }, - "vendor_credit_refund_identifier": { - "value": "VR-2002", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"refund_date\":\"2026-02-15\",\"amount\":250.00,\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"REF-7890\",\"account_id\":\"AC-3344\",\"notes\":\"Partial refund for vendor credit VC-1001\",\"exchange_rate\":1.0,\"line_items\":[{\"account_id\":\"AC-3344\",\"amount\":250.00,\"description\":\"Refund for returned goods\"}]}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateVendorPayment", - "qualifiedName": "ZohoBooksApi.UpdateVendorPayment", - "fullyQualifiedName": "ZohoBooksApi.UpdateVendorPayment@1.0.0", - "description": "Update or modify an existing vendor payment.\n\n Use this tool to update an existing vendor payment, including modifying the amount applied to bills.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "Provide the specific ID of the organization for which the vendor payment is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_identifier", - "type": "string", - "required": false, - "description": "The unique identifier of the vendor payment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_vendor_payment'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateVendorPayment", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "payment_identifier": { - "value": "VP-987654321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"vendor_payment\":{\"payment_number\":\"VP-2026-100\",\"date\":\"2026-02-18\",\"reference_number\":\"REF-456\",\"account_id\":\"321654987\",\"amount\":1500.00,\"description\":\"Adjusted vendor payment to apply to bills\",\"apply_to_bills\":[{\"bill_id\":\"BILL-1001\",\"amount_applied\":1000.00},{\"bill_id\":\"BILL-1002\",\"amount_applied\":500.00}]}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateVendorPaymentRefund", - "qualifiedName": "ZohoBooksApi.UpdateVendorPaymentRefund", - "fullyQualifiedName": "ZohoBooksApi.UpdateVendorPaymentRefund@1.0.0", - "description": "Update the refunded transaction for a vendor payment.\n\n Call this tool to update details related to a vendor payment refund. It is used when modifications to an existing refund transaction are necessary.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization associated with the refund transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "payment_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the payment. Required to specify which payment is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "vendor_payment_refund_id", - "type": "string", - "required": false, - "description": "Unique identifier of the vendor payment refund required for updating the transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_vendor_payment_refund'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateVendorPaymentRefund", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "payment_identifier": { - "value": "pay_9876543210", - "type": "string", - "required": false - }, - "vendor_payment_refund_id": { - "value": "refund_54321", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"refund_date\":\"2026-02-15\",\"amount\":1500.00,\"refund_mode\":\"Bank Transfer\",\"bank_account_id\":\"bank_001\",\"reference_number\":\"REF-20260215-01\",\"notes\":\"Updated refund amount due to exchange rate adjustment\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateVendorPaymentWithCustomId", - "qualifiedName": "ZohoBooksApi.UpdateVendorPaymentWithCustomId", - "fullyQualifiedName": "ZohoBooksApi.UpdateVendorPaymentWithCustomId@1.0.0", - "description": "Update or create a vendor payment using a unique custom field.\n\n This tool updates an existing vendor payment by using a unique custom field as an identifier. If the unique value is not found and the X-Upsert option is enabled, it will create a new vendor payment if sufficient details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_field_api_name", - "type": "string", - "required": false, - "description": "The API name of the unique custom field used to identify the vendor payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "custom_field_unique_value", - "type": "string", - "required": false, - "description": "The unique value of the custom field used to identify or create a vendor payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "create_new_record_if_not_exists", - "type": "boolean", - "required": false, - "description": "Set to true to create a new vendor payment if no existing record matches the unique custom field value. Only used when mode is 'execute'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.vendorpayments.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_vendor_payment_using_custom_field'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateVendorPaymentWithCustomId", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "123456789", - "type": "string", - "required": false - }, - "custom_field_api_name": { - "value": "custom_unique_payment_id", - "type": "string", - "required": false - }, - "custom_field_unique_value": { - "value": "PAY-2026-0001", - "type": "string", - "required": false - }, - "create_new_record_if_not_exists": { - "value": true, - "type": "boolean", - "required": false - }, - "request_body": { - "value": "{\"vendor_id\":\"987654321\",\"date\":\"2026-02-15\",\"amount\":1250.00,\"reference_number\":\"INV-PAY-001\",\"payment_mode\":\"Bank Transfer\",\"account_id\":\"1122334455\",\"notes\":\"Payment for invoice INV-1001\",\"custom_fields\":{\"custom_unique_payment_id\":\"PAY-2026-0001\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "UpdateZohoItemDetails", - "qualifiedName": "ZohoBooksApi.UpdateZohoItemDetails", - "fullyQualifiedName": "ZohoBooksApi.UpdateZohoItemDetails@1.0.0", - "description": "Update the details of an item in Zoho Books.\n\n Use this tool to update item details in Zoho Books by providing the item ID and the new information to be updated.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The ID of the organization in Zoho Books for which the item details are to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "item_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the item to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.settings.UPDATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'update_item'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.UpdateZohoItemDetails", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "item_identifier": { - "value": "9876543210", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"item\": {\"name\": \"Wireless Mouse Pro\",\"sku\": \"WM-PRO-2026\",\"rate\": 29.99,\"purchase_rate\": 18.5,\"description\": \"Ergonomic wireless mouse with adjustable DPI\",\"unit\": \"pcs\",\"is_stock_tracking\": true,\"opening_stock\": 150,\"opening_stock_rate\": 18.5,\"tax_id\": \"TAX-12345\"}}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "VoidInvoiceStatus", - "qualifiedName": "ZohoBooksApi.VoidInvoiceStatus", - "fullyQualifiedName": "ZohoBooksApi.VoidInvoiceStatus@1.0.0", - "description": "Mark an invoice as void in Zoho Books.\n\nUse this tool to change the status of an invoice to void in Zoho Books. This process will unassociate any payments and credits, placing them under customer credits.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books. Required to specify which organization the invoice belongs to.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_unique_identifier", - "type": "string", - "required": true, - "description": "Unique identifier for the invoice to be marked as void.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_invoice_void'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.VoidInvoiceStatus", - "parameters": { - "organization_id": { - "value": "6000123456789012345", - "type": "string", - "required": true - }, - "invoice_unique_identifier": { - "value": "INV-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "VoidRetainerInvoice", - "qualifiedName": "ZohoBooksApi.VoidRetainerInvoice", - "fullyQualifiedName": "ZohoBooksApi.VoidRetainerInvoice@1.0.0", - "description": "Mark a retainer invoice as void.\n\nThis tool marks a specified retainer invoice as void, disassociating any payments and credits and moving them under customer credits.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "ID of the organization required to identify which organization's invoice to void.", - "enum": null, - "inferrable": true - }, - { - "name": "retainer_invoice_id", - "type": "string", - "required": true, - "description": "Unique identifier for the retainer invoice to be marked as void.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'mark_retainer_invoice_void'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.VoidRetainerInvoice", - "parameters": { - "organization_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "retainer_invoice_id": { - "value": "RI-2026-0001", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "WriteOffFixedAsset", - "qualifiedName": "ZohoBooksApi.WriteOffFixedAsset", - "fullyQualifiedName": "ZohoBooksApi.WriteOffFixedAsset@1.0.0", - "description": "Remove a fixed asset from the records.\n\n Use this tool to write off a fixed asset. It should be called when an asset needs to be removed from the records in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", - "parameters": [ - { - "name": "mode", - "type": "string", - "required": true, - "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", - "enum": [ - "get_request_schema", - "execute" - ], - "inferrable": true - }, - { - "name": "organization_id", - "type": "string", - "required": false, - "description": "The unique identifier for the organization. Required to specify which organization's asset is to be written off. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "fixed_asset_identifier", - "type": "string", - "required": false, - "description": "Unique identifier of the fixed asset to be written off in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", - "enum": null, - "inferrable": true - }, - { - "name": "request_body", - "type": "string", - "required": false, - "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.fixedasset.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'write_off_fixed_asset'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.WriteOffFixedAsset", - "parameters": { - "mode": { - "value": "execute", - "type": "string", - "required": true - }, - "organization_id": { - "value": "1234567890", - "type": "string", - "required": false - }, - "fixed_asset_identifier": { - "value": "FA-2023-0001", - "type": "string", - "required": false - }, - "request_body": { - "value": "{\"write_off_date\":\"2025-01-15\",\"write_off_value\":1250.50,\"reason\":\"Damaged beyond repair\",\"disposed_to\":\"scrap\",\"disposal_account_id\":\"987654321\"}", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } - }, - { - "name": "WriteOffInvoiceBalance", - "qualifiedName": "ZohoBooksApi.WriteOffInvoiceBalance", - "fullyQualifiedName": "ZohoBooksApi.WriteOffInvoiceBalance@1.0.0", - "description": "Write off the balance amount of an invoice in Zoho Books.\n\nUse this tool to write off the remaining balance of an invoice in Zoho Books when the amount is uncollectible.", - "parameters": [ - { - "name": "organization_id", - "type": "string", - "required": true, - "description": "The unique ID of the organization in Zoho Books.", - "enum": null, - "inferrable": true - }, - { - "name": "invoice_identifier", - "type": "string", - "required": true, - "description": "The unique identifier for the invoice to be written off.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "zoho", - "providerType": "oauth2", - "scopes": [ - "ZohoBooks.invoices.CREATE" - ] - }, - "secrets": [ - "ZOHO_SERVER_URL" - ], - "secretsInfo": [ - { - "name": "ZOHO_SERVER_URL", - "type": "unknown" - } - ], - "output": { - "type": "json", - "description": "Response from the API endpoint 'write_off_invoice'." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "ZohoBooksApi.WriteOffInvoiceBalance", - "parameters": { - "organization_id": { - "value": "123456789", - "type": "string", - "required": true - }, - "invoice_identifier": { - "value": "INV-2026-00042", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "zoho", - "tabLabel": "Call the Tool with User Authorization" - } + "auth": null, + "tools": [], + "documentationChunks": [ + { + "type": "section", + "location": "custom_section", + "position": "after", + "content": "## Secrets\n\nThis MCP Server requires the `ZOHO_SERVER_URL` secret to be configured. Learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets).\n\n### Getting your Zoho Server URL\n\nThe Zoho Server URL is the base URL for your Zoho account's data center. Zoho operates in multiple data centers around the world, and you must use the correct URL for your account.\n\nYour Zoho Server URL depends on which data center your account is registered in:\n\n| Data Center | Server URL |\n| ----------- | --------------------------- |\n| US | `https://books.zoho.com` |\n| EU | `https://books.zoho.eu` |\n| India | `https://books.zoho.in` |\n| Australia | `https://books.zoho.com.au` |\n| China | `https://books.zoho.com.cn` |\n\nTo determine which data center your account uses:\n\n1. Log in to your Zoho Books account\n2. Look at the URL in your browser's address bar\n3. The domain (`.com`, `.eu`, `.in`, `.com.au`, or `.com.cn`) indicates your data center\n\nFor example, if you access Zoho Books at `https://books.zoho.eu`, your server URL is `https://books.zoho.eu`.\n\nThe server URL is used as the base for all API requests. For example, when retrieving invoices, the full URL would be constructed as:\n\n```\n{zoho_server_url}/api/v3/invoices?organization_id=...\n```\n\nWhich would become `https://books.zoho.com/api/v3/invoices?organization_id=...` for US accounts.", + "header": "## Secrets" + }, + { + "type": "markdown", + "location": "auth", + "position": "after", + "content": "The ZohoBooksApi MCP Server uses the Auth Provider with id `arcade-zoho` to connect to users' Zoho Books accounts. In order to use the MCP Server, you will need to configure the `arcade-zoho` auth provider.\nLearn how to configure the Zoho auth provider in the [Zoho auth provider documentation](/references/auth-providers/zoho).", + "header": "## Auth" } ], - "documentationChunks": [], - "customImports": [], + "customImports": [ + "import StarterToolInfo from \"@/app/_components/starter-tool-info\";" + ], "subPages": [], - "generatedAt": "2026-02-18T02:43:28.089Z", - "summary": "Zoho Books API toolkit provides programmatic access to Zoho Books, enabling LLMs to automate accounting workflows—create, read, update, and delete invoices, bills, contacts, payments, projects, inventory and bank transactions—and to manage templates, attachments, reconciliation, approvals and exports.\n\n**Capabilities**\n\n- Unified CRUD, bulk and upsert operations across core financial entities with pagination, filtering and custom-field support.\n- Attachment, PDF/template management and email/send/export flows for invoices, estimates and purchase orders.\n- Bank-feed import, transaction categorization, matching/reconciliation and automated rules.\n- Approval/workflow controls, time tracking, project assignment and status transitions for operational automation.\n\n**OAuth**\n\nProvider: zoho\n\nScopes: module-level ZohoBooks.* scopes for granular consent (module CRUD and ALL scopes). Examples: ZohoBooks.invoices.CREATE, ZohoBooks.bills.READ, ZohoBooks.settings.ALL, ZohoBooks.custommodules.ALL; the toolkit requires consenting to the relevant ZohoBooks.* scopes for the organization.\n\n**Secrets**\n\nSecret types: server URL overrides and OAuth credentials. Examples: ZOHO_SERVER_URL (e.g. https://books.zoho.com or a staging endpoint), OAuth access/refresh tokens, client_id and client_secret — store in a secrets manager and restrict access." -} \ No newline at end of file + "generatedAt": "2026-01-26T17:48:05.819Z" +} From d6122d2094a938490611ddcf7f39c1d25380ddaa Mon Sep 17 00:00:00 2001 From: jottakka Date: Wed, 18 Feb 2026 17:20:28 -0300 Subject: [PATCH 21/22] removing complex time check --- .github/workflows/generate-toolkit-docs.yml | 27 +++------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/.github/workflows/generate-toolkit-docs.yml b/.github/workflows/generate-toolkit-docs.yml index c65131be9..41eb046ad 100644 --- a/.github/workflows/generate-toolkit-docs.yml +++ b/.github/workflows/generate-toolkit-docs.yml @@ -10,10 +10,9 @@ on: repository_dispatch: types: [porter_deploy_succeeded] workflow_dispatch: - # GitHub cron is UTC. 09:00/10:00 UTC spans 2 AM America/Los_Angeles - # across DST changes; a gate step below ensures only true 2 AM runs proceed. + # 11:00 UTC = 3 AM PST / 4 AM PDT — late enough that DST drift doesn't matter. schedule: - - cron: "0 9,10 * * *" + - cron: "0 11 * * *" permissions: contents: write @@ -24,46 +23,28 @@ jobs: runs-on: ubuntu-latest steps: - - name: Gate schedule to 2 AM San Francisco - id: schedule-gate - if: github.event_name == 'schedule' - run: | - SF_HOUR="$(TZ=America/Los_Angeles date +%H)" - if [ "$SF_HOUR" = "02" ]; then - echo "should_run=true" >> "$GITHUB_OUTPUT" - else - echo "should_run=false" >> "$GITHUB_OUTPUT" - echo "Skipping run outside 2 AM America/Los_Angeles (current hour: $SF_HOUR)." - fi - - name: Checkout repository - if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install pnpm - if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' uses: pnpm/action-setup@v4 - name: Setup Node.js - if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' uses: actions/setup-node@v4 with: node-version: "22" cache: pnpm - name: Install dependencies - if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' run: pnpm install --frozen-lockfile - name: Build toolkit docs generator - if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' run: pnpm build working-directory: toolkit-docs-generator - name: Generate toolkit docs - if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' run: | pnpm dlx tsx src/cli/index.ts generate \ --all \ @@ -85,11 +66,9 @@ jobs: OPENAI_MODEL: ${{ secrets.OPENAI_MODEL || 'gpt-4o-mini' }} - name: Sync toolkit sidebar navigation - if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' run: pnpm dlx tsx toolkit-docs-generator/scripts/sync-toolkit-sidebar.ts --remove-empty-sections=false --verbose - name: Check for changes - if: github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true' id: check-changes run: | if [ -n "$(git status --porcelain)" ]; then @@ -99,7 +78,7 @@ jobs: fi - name: Create pull request - if: (github.event_name != 'schedule' || steps.schedule-gate.outputs.should_run == 'true') && steps.check-changes.outputs.has_changes == 'true' + if: steps.check-changes.outputs.has_changes == 'true' uses: peter-evans/create-pull-request@v7 env: HUSKY: 0 From ebf65fd798df5e3f5fab45a4fddc3b3473b205cf Mon Sep 17 00:00:00 2001 From: jottakka <203343514+jottakka@users.noreply.github.com> Date: Wed, 18 Feb 2026 21:16:02 +0000 Subject: [PATCH 22/22] [AUTO] Adding MCP Servers docs update --- app/en/resources/integrations/_meta.tsx | 3 + .../integrations/databases/_meta.tsx | 10 + .../integrations/development/_meta.tsx | 4 - .../data/toolkits/googledocs.json | 208 +- .../data/toolkits/googlesheets.json | 68 +- .../data/toolkits/googleslides.json | 101 +- .../data/toolkits/index.json | 378 +- .../data/toolkits/linear.json | 579 +- .../data/toolkits/sharepoint.json | 1339 +- .../data/toolkits/slack.json | 229 +- .../data/toolkits/stripe.json | 101 +- toolkit-docs-generator/data/toolkits/x.json | 114 +- .../data/toolkits/youtube.json | 20 +- .../data/toolkits/zohobooksapi.json | 44411 +++++++++++++++- 14 files changed, 46775 insertions(+), 790 deletions(-) create mode 100644 app/en/resources/integrations/databases/_meta.tsx diff --git a/app/en/resources/integrations/_meta.tsx b/app/en/resources/integrations/_meta.tsx index 32201d550..1cf921397 100644 --- a/app/en/resources/integrations/_meta.tsx +++ b/app/en/resources/integrations/_meta.tsx @@ -36,6 +36,9 @@ const meta: MetaRecord = { sales: { title: "Sales", }, + databases: { + title: "Databases", + }, "customer-support": { title: "Customer Support", }, diff --git a/app/en/resources/integrations/databases/_meta.tsx b/app/en/resources/integrations/databases/_meta.tsx new file mode 100644 index 000000000..d0b9a9cc9 --- /dev/null +++ b/app/en/resources/integrations/databases/_meta.tsx @@ -0,0 +1,10 @@ +import type { MetaRecord } from "nextra"; + +const meta: MetaRecord = { + "weaviate-api": { + title: "Weaviate API", + href: "/en/resources/integrations/databases/weaviate-api", + }, +}; + +export default meta; diff --git a/app/en/resources/integrations/development/_meta.tsx b/app/en/resources/integrations/development/_meta.tsx index 8722736fb..70a1a6050 100644 --- a/app/en/resources/integrations/development/_meta.tsx +++ b/app/en/resources/integrations/development/_meta.tsx @@ -101,10 +101,6 @@ const meta: MetaRecord = { title: "Vercel API", href: "/en/resources/integrations/development/vercel-api", }, - "weaviate-api": { - title: "Weaviate API", - href: "/en/resources/integrations/development/weaviate-api", - }, }; export default meta; diff --git a/toolkit-docs-generator/data/toolkits/googledocs.json b/toolkit-docs-generator/data/toolkits/googledocs.json index 0b67d8d49..74f8da3bb 100644 --- a/toolkit-docs-generator/data/toolkits/googledocs.json +++ b/toolkit-docs-generator/data/toolkits/googledocs.json @@ -1,7 +1,7 @@ { "id": "GoogleDocs", "label": "Google Docs", - "version": "5.0.1", + "version": "5.0.3", "description": "Arcade.dev LLM tools for Google Docs", "metadata": { "category": "productivity", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/google-docs", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/google-docs", "isComingSoon": false, "isHidden": false }, @@ -26,7 +26,7 @@ { "name": "CommentOnDocument", "qualifiedName": "GoogleDocs.CommentOnDocument", - "fullyQualifiedName": "GoogleDocs.CommentOnDocument@5.0.1", + "fullyQualifiedName": "GoogleDocs.CommentOnDocument@5.0.3", "description": "Comment on a specific document by its ID.", "parameters": [ { @@ -49,7 +49,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -62,12 +64,12 @@ "toolName": "GoogleDocs.CommentOnDocument", "parameters": { "document_id": { - "value": "abc123xyz", + "value": "1a2B3cD4e5F6g7H8i9J0kLmNoPqRsTuVwXyZ", "type": "string", "required": true }, "comment_text": { - "value": "Great work on this section!", + "value": "Please review the introduction for clarity and update the statistics in paragraph 2. Thanks!", "type": "string", "required": true } @@ -80,7 +82,7 @@ { "name": "CreateBlankDocument", "qualifiedName": "GoogleDocs.CreateBlankDocument", - "fullyQualifiedName": "GoogleDocs.CreateBlankDocument@5.0.1", + "fullyQualifiedName": "GoogleDocs.CreateBlankDocument@5.0.3", "description": "Create a blank Google Docs document with the specified title.", "parameters": [ { @@ -95,7 +97,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -108,7 +112,7 @@ "toolName": "GoogleDocs.CreateBlankDocument", "parameters": { "title": { - "value": "Meeting Notes - September 2023", + "value": "Project Plan - Q2 2026", "type": "string", "required": true } @@ -121,7 +125,7 @@ { "name": "CreateDocumentFromText", "qualifiedName": "GoogleDocs.CreateDocumentFromText", - "fullyQualifiedName": "GoogleDocs.CreateDocumentFromText@5.0.1", + "fullyQualifiedName": "GoogleDocs.CreateDocumentFromText@5.0.3", "description": "Create a Google Docs document with the specified title and text content.", "parameters": [ { @@ -144,7 +148,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -157,12 +163,12 @@ "toolName": "GoogleDocs.CreateDocumentFromText", "parameters": { "title": { - "value": "Meeting Notes - October 2023", + "value": "Project Plan - Q2 Roadmap", "type": "string", "required": true }, "text_content": { - "value": "These are the notes from the meeting held on October 10, 2023. Discussed project timelines, deliverables, and assigned tasks.", + "value": "Title: Q2 Project Roadmap\n\nOverview:\nThis document outlines the key objectives, milestones, and deliverables for Q2. Goals include launching the beta, increasing user retention by 15%, and completing integrations with partner APIs.\n\nMilestones:\n1. Beta release - April 15\n2. Feedback collection and iteration - May 1 to May 31\n3. Final release candidate - June 20\n\nAction items:\n- Engineering: complete API integration by May 10\n- Product: finalize feature scope by March 30\n- Marketing: prepare launch campaign assets by April 1\n\nNotes:\nAssign owners and track progress weekly. Schedule cross-functional review on April 5.", "type": "string", "required": true } @@ -175,8 +181,8 @@ { "name": "EditDocument", "qualifiedName": "GoogleDocs.EditDocument", - "fullyQualifiedName": "GoogleDocs.EditDocument@5.0.1", - "description": "Edit a Google Docs document with the specified edit request.\n\nThis tool does not have context about previous edits because it is stateless. If your edit\nrequest depends on knowledge about previous edits, then you should provide that context in\nthe edit requests.", + "fullyQualifiedName": "GoogleDocs.EditDocument@5.0.3", + "description": "Edit a Google Docs document with the specified edit request.\n\nThis tool edits the content within the document body only. It cannot edit document metadata\nsuch as the title, permissions, sharing settings, or other document properties.\n\nThis tool does not have context about previous edits because it is stateless. If your edit\nrequest depends on knowledge about previous edits, then you should provide that context in\nthe edit requests.", "parameters": [ { "name": "document_id", @@ -200,16 +206,25 @@ "type": "string", "required": false, "description": "The effort to put into reasoning about the edit(s). Defaults to medium", - "enum": ["minimal", "low", "medium", "high"], + "enum": [ + "minimal", + "low", + "medium", + "high" + ], "inferrable": true } ], "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, - "secrets": ["OPENAI_API_KEY"], + "secrets": [ + "OPENAI_API_KEY" + ], "secretsInfo": [ { "name": "OPENAI_API_KEY", @@ -225,15 +240,16 @@ "toolName": "GoogleDocs.EditDocument", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1a2B3cD4EfGhIjKlMNopQrStUvWxYz-1234567890", "type": "string", "required": true }, "edit_requests": { "value": [ - "Change the title of the document to 'Quarterly Financial Report'", - "Add a new section discussing the effects of the market downturn", - "Correct the spelling of 'recieve' to 'receive' throughout the document" + "Replace the first paragraph in the document body with: \"Executive Summary: In Q2 2026 we will focus on product scalability, international expansion, and improving user retention. Key metrics include DAU growth, retention rate, and NPS improvements.\"", + "Under the 'Action Items' heading, insert a new bulleted list with the following items: 'Finalize pricing model by May 15', 'Complete user research for v2 by June 1', 'Prepare launch materials by June 20'.", + "Convert the 'Marketing Plan' section to a concise bulleted list of at most five points, each under 20 words, using active voice.", + "Replace every instance of the company name 'ACME' with 'ApexCorp' throughout the document body." ], "type": "array", "required": true @@ -252,7 +268,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl@5.0.1", + "fullyQualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl@5.0.3", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -278,7 +294,7 @@ { "name": "GetDocumentAsDocmd", "qualifiedName": "GoogleDocs.GetDocumentAsDocmd", - "fullyQualifiedName": "GoogleDocs.GetDocumentAsDocmd@5.0.1", + "fullyQualifiedName": "GoogleDocs.GetDocumentAsDocmd@5.0.3", "description": "Get the latest version of the specified Google Docs document as DocMD.\nThe DocMD output will include tags that can be used to annotate the document with location\ninformation, the type of block, block IDs, and other metadata. If the document has tabs,\nall tabs are included in sequential order unless a specific tab_id is provided.", "parameters": [ { @@ -301,7 +317,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -314,12 +332,12 @@ "toolName": "GoogleDocs.GetDocumentAsDocmd", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F", + "value": "1a2B3cD4e5F6g7Hi8J9kLmNoPqRsTuVwXyZ", "type": "string", "required": true }, "tab_id": { - "value": "tab1", + "value": "tab-0", "type": "string", "required": false } @@ -332,7 +350,7 @@ { "name": "GetDocumentById", "qualifiedName": "GoogleDocs.GetDocumentById", - "fullyQualifiedName": "GoogleDocs.GetDocumentById@5.0.1", + "fullyQualifiedName": "GoogleDocs.GetDocumentById@5.0.3", "description": "DEPRECATED DO NOT USE THIS TOOL\nGet the latest version of the specified Google Docs document.", "parameters": [ { @@ -347,7 +365,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -360,7 +380,7 @@ "toolName": "GoogleDocs.GetDocumentById", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms", "type": "string", "required": true } @@ -373,7 +393,7 @@ { "name": "GetDocumentMetadata", "qualifiedName": "GoogleDocs.GetDocumentMetadata", - "fullyQualifiedName": "GoogleDocs.GetDocumentMetadata@5.0.1", + "fullyQualifiedName": "GoogleDocs.GetDocumentMetadata@5.0.3", "description": "Get metadata for a Google Docs document including hierarchical tab structure.\nReturns document title, ID, URL, total character count, and nested tab information\nwith character counts for each tab.", "parameters": [ { @@ -388,7 +408,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -401,7 +423,7 @@ "toolName": "GoogleDocs.GetDocumentMetadata", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms", "type": "string", "required": true } @@ -414,7 +436,7 @@ { "name": "InsertTextAtEndOfDocument", "qualifiedName": "GoogleDocs.InsertTextAtEndOfDocument", - "fullyQualifiedName": "GoogleDocs.InsertTextAtEndOfDocument@5.0.1", + "fullyQualifiedName": "GoogleDocs.InsertTextAtEndOfDocument@5.0.3", "description": "Updates an existing Google Docs document using the batchUpdate API endpoint.", "parameters": [ { @@ -437,7 +459,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -450,12 +474,12 @@ "toolName": "GoogleDocs.InsertTextAtEndOfDocument", "parameters": { "document_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1aBcD_3EfGhIJKlMnOpQrStUvWxYz-1234567890", "type": "string", "required": true }, "text_content": { - "value": "This text was added at the end of the document.", + "value": "Added via API: This is a new paragraph appended to the end of the document.", "type": "string", "required": true } @@ -468,7 +492,7 @@ { "name": "ListDocumentComments", "qualifiedName": "GoogleDocs.ListDocumentComments", - "fullyQualifiedName": "GoogleDocs.ListDocumentComments@5.0.1", + "fullyQualifiedName": "GoogleDocs.ListDocumentComments@5.0.3", "description": "List all comments on the specified Google Docs document.", "parameters": [ { @@ -491,7 +515,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -504,7 +530,7 @@ "toolName": "GoogleDocs.ListDocumentComments", "parameters": { "document_id": { - "value": "1a2b3c4d5e6f7g8h9i0j", + "value": "1A2bC3dEfGhiJKlMnopQR_sTuvwxYZ12abCDeFgHiJk", "type": "string", "required": true }, @@ -522,7 +548,7 @@ { "name": "SearchAndRetrieveDocuments", "qualifiedName": "GoogleDocs.SearchAndRetrieveDocuments", - "fullyQualifiedName": "GoogleDocs.SearchAndRetrieveDocuments@5.0.1", + "fullyQualifiedName": "GoogleDocs.SearchAndRetrieveDocuments@5.0.3", "description": "Searches for documents in the user's Google Drive and returns documents with their main body\ncontent and tab metadata. Excludes documents that are in the trash.\n\nReturns main body content only with metadata about tabs. Use get_document_as_docmd() to retrieve\nfull tab content for specific documents. Use search_documents() for metadata-only searches.", "parameters": [ { @@ -530,7 +556,12 @@ "type": "string", "required": false, "description": "The format of the document to return. Defaults to Markdown.", - "enum": ["docmd", "markdown", "html", "google_api_json"], + "enum": [ + "docmd", + "markdown", + "html", + "google_api_json" + ], "inferrable": true }, { @@ -627,7 +658,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -640,22 +673,29 @@ "toolName": "GoogleDocs.SearchAndRetrieveDocuments", "parameters": { "return_format": { - "value": "Markdown", + "value": "markdown", "type": "string", "required": false }, "document_contains": { - "value": ["project", "meeting", "report"], + "value": [ + "project plan", + "Q3 roadmap", + "budget" + ], "type": "array", "required": false }, "document_not_contains": { - "value": ["draft", "confidential"], + "value": [ + "draft", + "confidential" + ], "type": "array", "required": false }, "search_only_in_shared_drive_id": { - "value": "abc123456", + "value": "0A1B2C3D4E5F6G7H8I9J", "type": "string", "required": false }, @@ -665,22 +705,25 @@ "required": false }, "include_organization_domain_documents": { - "value": false, + "value": true, "type": "boolean", "required": false }, "order_by": { - "value": ["modifiedTime desc", "name asc"], + "value": [ + "modifiedTime desc", + "name asc" + ], "type": "array", "required": false }, "limit": { - "value": 10, + "value": 25, "type": "integer", "required": false }, "pagination_token": { - "value": "xyz987654", + "value": "page_2_token_example", "type": "string", "required": false } @@ -693,7 +736,7 @@ { "name": "SearchDocuments", "qualifiedName": "GoogleDocs.SearchDocuments", - "fullyQualifiedName": "GoogleDocs.SearchDocuments@5.0.1", + "fullyQualifiedName": "GoogleDocs.SearchDocuments@5.0.3", "description": "Searches for documents in the user's Google Drive. Excludes documents in trash.\nReturns metadata only. Use get_document_metadata or get_document_as_docmd for content.", "parameters": [ { @@ -790,7 +833,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -803,17 +848,24 @@ "toolName": "GoogleDocs.SearchDocuments", "parameters": { "document_contains": { - "value": ["project", "report", "meeting notes"], + "value": [ + "Q1 budget", + "marketing plan", + "customer feedback" + ], "type": "array", "required": false }, "document_not_contains": { - "value": ["draft", "old", "deprecated"], + "value": [ + "draft", + "confidential" + ], "type": "array", "required": false }, "search_only_in_shared_drive_id": { - "value": "abc123sharedDriveId", + "value": "0A12bC345dEfgHIjKLMN", "type": "string", "required": false }, @@ -828,17 +880,20 @@ "required": false }, "order_by": { - "value": ["createdTime", "name"], + "value": [ + "modifiedTime desc", + "name asc" + ], "type": "array", "required": false }, "limit": { - "value": 10, + "value": 25, "type": "integer", "required": false }, "pagination_token": { - "value": "nextPageToken", + "value": "ya29.a0AfH6SMA_EXAMPLE_TOKEN_12345", "type": "string", "required": false } @@ -851,7 +906,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleDocs.WhoAmI", - "fullyQualifiedName": "GoogleDocs.WhoAmI@5.0.1", + "fullyQualifiedName": "GoogleDocs.WhoAmI@5.0.3", "description": "Get comprehensive user profile and Google Docs environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Docs access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -879,32 +934,9 @@ } } ], - "documentationChunks": [ - { - "type": "warning", - "location": "description", - "position": "after", - "content": "\n This Toolkit is not available in Arcade Cloud. You can use these tools with a\n [self-hosted](/guides/deployment-hosting/configure-engine) instance of Arcade.\n" - }, - { - "type": "section", - "location": "custom_section", - "position": "after", - "content": "## Tab Support\n\nGoogle Docs supports hierarchical tabs within documents. The Google Docs tools provide comprehensive support for working with tabs:\n\n- **Tab Metadata**: `GetDocumentMetadata` returns hierarchical tab structures with approximate character and word counts for each tab\n- **Tab Content**: `GetDocumentAsDocMD` and `SearchAndRetrieveDocuments` include all tab content in their output\n- **Tab Filtering**: `GetDocumentAsDocMD` supports filtering to retrieve content from a specific tab using the `tab_id` parameter\n\nTabs are represented with the following structure:\n- Each tab has a unique `tabId`, `title`, `index`, and `nestingLevel`\n- Tabs can be nested up to 3 levels deep (parent → child → grandchild)\n- Tab metadata includes approximate character and word counts for each tab's content\n\n---", - "header": "## Tab Support" - }, - { - "type": "markdown", - "location": "auth", - "position": "after", - "content": "The Arcade Google Docs MCP Server uses the [Google auth provider](/references/auth-providers/google) to connect to users' Google accounts.\n---", - "header": "## Auth" - } - ], - "customImports": [ - "import ScopePicker from \"@/app/_components/scope-picker\";" - ], + "documentationChunks": [], + "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:32:15.847Z", - "summary": "Arcade.dev offers a toolkit for Google Docs that facilitates seamless interaction with Google Drive and document management. This toolkit enables developers to create, edit, and manage documents through a variety of functions in a secure environment.\n\n**Capabilities**\n- Create, edit, and comment on Google Docs seamlessly.\n- Retrieve document metadata and manage file permissions securely.\n- Generate user-friendly file picker URLs for easy file access.\n- List and manage comments within documents.\n\n**OAuth**\nProvider: Google\nScopes: https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile\n\n**Secrets**\nSecret Type: API Key\nExample: OPENAI_API_KEY." -} + "generatedAt": "2026-02-18T21:01:35.047Z", + "summary": "Google Docs Arcade toolkit enables LLM-driven creation, editing, commenting, searching, and retrieval of Google Docs via Google OAuth. It provides programmatic flows for document lifecycle management, stateless edit requests, and user-driven file selection.\n\n**Capabilities**\n- Create, update, and batch-edit document body content and insert text; edits are stateless and require context when needed.\n- Annotate and list comments, read document structure/metadata, and export content as DocMD for downstream processing.\n- Search Drive metadata and content, and generate File Picker URLs to complete auth/selection flows securely.\n- Inspect authenticated user/profile and environment to guide access and permissions.\n\n**OAuth**\nProvider: google\nScopes: https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile\n\n**Secrets**\nAPI key (api_key): OPENAI_API_KEY — used for external LLM or augmentation services." +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/googlesheets.json b/toolkit-docs-generator/data/toolkits/googlesheets.json index 76509a3c2..085023923 100644 --- a/toolkit-docs-generator/data/toolkits/googlesheets.json +++ b/toolkit-docs-generator/data/toolkits/googlesheets.json @@ -1,7 +1,7 @@ { "id": "GoogleSheets", "label": "Google Sheets", - "version": "5.1.0", + "version": "5.1.1", "description": "Arcade.dev LLM tools for Google Sheets.", "metadata": { "category": "productivity", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/google-sheets", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/google-sheets", "isComingSoon": false, "isHidden": false }, @@ -26,7 +26,7 @@ { "name": "AddNoteToCell", "qualifiedName": "GoogleSheets.AddNoteToCell", - "fullyQualifiedName": "GoogleSheets.AddNoteToCell@5.1.0", + "fullyQualifiedName": "GoogleSheets.AddNoteToCell@5.1.1", "description": "Add a note to a specific cell in a spreadsheet. A note is a small\npiece of text attached to a cell (shown with a black triangle) that\nappears when you hover over the cell.\n\nsheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned,\nthen always assume the default sheet_position is sufficient.", "parameters": [ { @@ -81,7 +81,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -132,7 +134,7 @@ { "name": "CreateSpreadsheet", "qualifiedName": "GoogleSheets.CreateSpreadsheet", - "fullyQualifiedName": "GoogleSheets.CreateSpreadsheet@5.1.0", + "fullyQualifiedName": "GoogleSheets.CreateSpreadsheet@5.1.1", "description": "Create a new spreadsheet with the provided title and data in its first sheet\n\nReturns the newly created spreadsheet's id and title", "parameters": [ { @@ -155,7 +157,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -186,7 +190,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleSheets.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleSheets.GenerateGoogleFilePickerUrl@5.1.0", + "fullyQualifiedName": "GoogleSheets.GenerateGoogleFilePickerUrl@5.1.1", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -212,7 +216,7 @@ { "name": "GetSpreadsheet", "qualifiedName": "GoogleSheets.GetSpreadsheet", - "fullyQualifiedName": "GoogleSheets.GetSpreadsheet@5.1.0", + "fullyQualifiedName": "GoogleSheets.GetSpreadsheet@5.1.1", "description": "Gets the specified range of cells from a single sheet in the spreadsheet.\n\nsheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned,\nthen always assume the default sheet_position is sufficient.", "parameters": [ { @@ -275,7 +279,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -331,7 +337,7 @@ { "name": "GetSpreadsheetMetadata", "qualifiedName": "GoogleSheets.GetSpreadsheetMetadata", - "fullyQualifiedName": "GoogleSheets.GetSpreadsheetMetadata@5.1.0", + "fullyQualifiedName": "GoogleSheets.GetSpreadsheetMetadata@5.1.1", "description": "Gets the metadata for a spreadsheet including the metadata for the sheets in the spreadsheet.\n\nUse this tool to get the name, position, ID, and URL of all sheets in a spreadsheet as well as\nthe number of rows and columns in each sheet.\n\nDoes not return the content/data of the sheets in the spreadsheet - only the metadata.\nExcludes spreadsheets that are in the trash.", "parameters": [ { @@ -346,7 +352,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -372,7 +380,7 @@ { "name": "SearchSpreadsheets", "qualifiedName": "GoogleSheets.SearchSpreadsheets", - "fullyQualifiedName": "GoogleSheets.SearchSpreadsheets@5.1.0", + "fullyQualifiedName": "GoogleSheets.SearchSpreadsheets@5.1.1", "description": "Searches for spreadsheets in the user's Google Drive based on the titles and content and\nreturns the title, ID, and URL for each matching spreadsheet.\n\nDoes not return the content/data of the sheets in the spreadsheets - only the metadata.\nExcludes spreadsheets that are in the trash.", "parameters": [ { @@ -469,7 +477,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -482,12 +492,18 @@ "toolName": "GoogleSheets.SearchSpreadsheets", "parameters": { "spreadsheet_contains": { - "value": ["financial", "budget"], + "value": [ + "financial", + "budget" + ], "type": "array", "required": false }, "spreadsheet_not_contains": { - "value": ["draft", "old"], + "value": [ + "draft", + "old" + ], "type": "array", "required": false }, @@ -507,7 +523,9 @@ "required": false }, "order_by": { - "value": ["lastModifiedTime"], + "value": [ + "lastModifiedTime" + ], "type": "array", "required": false }, @@ -530,7 +548,7 @@ { "name": "UpdateCells", "qualifiedName": "GoogleSheets.UpdateCells", - "fullyQualifiedName": "GoogleSheets.UpdateCells@5.1.0", + "fullyQualifiedName": "GoogleSheets.UpdateCells@5.1.1", "description": "Write values to a Google Sheet using a flexible data format.\n\nsheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned,\nthen always assume the default sheet_position is sufficient.", "parameters": [ { @@ -569,7 +587,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -610,7 +630,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleSheets.WhoAmI", - "fullyQualifiedName": "GoogleSheets.WhoAmI@5.1.0", + "fullyQualifiedName": "GoogleSheets.WhoAmI@5.1.1", "description": "Get comprehensive user profile and Google Sheets environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Sheets access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -640,7 +660,7 @@ { "name": "WriteToCell", "qualifiedName": "GoogleSheets.WriteToCell", - "fullyQualifiedName": "GoogleSheets.WriteToCell@5.1.0", + "fullyQualifiedName": "GoogleSheets.WriteToCell@5.1.1", "description": "Write a value to a single cell in a spreadsheet.", "parameters": [ { @@ -687,7 +707,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -736,6 +758,6 @@ "import ScopePicker from \"@/app/_components/scope-picker\";" ], "subPages": [], - "generatedAt": "2026-01-26T17:33:21.516Z", + "generatedAt": "2026-02-18T21:01:16.990Z", "summary": "Arcade.dev provides LLM tools for Google Sheets, enabling seamless interactions with spreadsheet data through API integration. This toolkit allows developers to automate tasks, manage files, and enhance user experience in Google Sheets.\n\n### Capabilities\n- Create and manage spreadsheets with flexible data formats.\n- Retrieve and update cell contents efficiently.\n- Access user profile information and permissions.\n- Generate file picker URLs for user-driven file selection and authorization.\n\n### OAuth\n- **Provider**: Google \n- **Scopes**: \n - `https://www.googleapis.com/auth/drive.file` \n - `https://www.googleapis.com/auth/userinfo.email` \n - `https://www.googleapis.com/auth/userinfo.profile`\n\n### Secrets\n- No secret types or names are specified." -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/googleslides.json b/toolkit-docs-generator/data/toolkits/googleslides.json index e42898e69..8b1b5f9a3 100644 --- a/toolkit-docs-generator/data/toolkits/googleslides.json +++ b/toolkit-docs-generator/data/toolkits/googleslides.json @@ -1,7 +1,7 @@ { "id": "GoogleSlides", "label": "Google Slides", - "version": "1.3.2", + "version": "1.3.3", "description": "Arcade.dev LLM tools for Google Slides", "metadata": { "category": "productivity", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/google-slides", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/google-slides", "isComingSoon": false, "isHidden": false }, @@ -26,7 +26,7 @@ { "name": "CommentOnPresentation", "qualifiedName": "GoogleSlides.CommentOnPresentation", - "fullyQualifiedName": "GoogleSlides.CommentOnPresentation@1.3.2", + "fullyQualifiedName": "GoogleSlides.CommentOnPresentation@1.3.3", "description": "Comment on a specific slide by its index in a Google Slides presentation.", "parameters": [ { @@ -49,7 +49,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -62,12 +64,12 @@ "toolName": "GoogleSlides.CommentOnPresentation", "parameters": { "presentation_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1aBcD2EfGhI3JkLmNoPqRsTuVwXyZ_abc123", "type": "string", "required": true }, "comment_text": { - "value": "Great job on this slide! Very informative.", + "value": "Please update the chart labels on slide 3 and align the legend to the right. Increase the axis label font size to 12pt and ensure data colors match the brand palette.", "type": "string", "required": true } @@ -80,7 +82,7 @@ { "name": "CreatePresentation", "qualifiedName": "GoogleSlides.CreatePresentation", - "fullyQualifiedName": "GoogleSlides.CreatePresentation@1.3.2", + "fullyQualifiedName": "GoogleSlides.CreatePresentation@1.3.3", "description": "Create a new Google Slides presentation\nThe first slide will be populated with the specified title and subtitle.", "parameters": [ { @@ -103,7 +105,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -116,12 +120,12 @@ "toolName": "GoogleSlides.CreatePresentation", "parameters": { "title": { - "value": "Annual Sales Report", + "value": "Quarterly Product Update", "type": "string", "required": true }, "subtitle": { - "value": "Q1 Performance Analysis", + "value": "Q2 2026 — Metrics & Roadmap", "type": "string", "required": false } @@ -134,7 +138,7 @@ { "name": "CreateSlide", "qualifiedName": "GoogleSlides.CreateSlide", - "fullyQualifiedName": "GoogleSlides.CreateSlide@1.3.2", + "fullyQualifiedName": "GoogleSlides.CreateSlide@1.3.3", "description": "Create a new slide at the end of the specified presentation", "parameters": [ { @@ -165,7 +169,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -178,17 +184,17 @@ "toolName": "GoogleSlides.CreateSlide", "parameters": { "presentation_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1aBcdEfgHIjkLmnoPqR2345_stuV", "type": "string", "required": true }, "slide_title": { - "value": "Introduction to JSON", + "value": "Q1 2026 Results", "type": "string", "required": true }, "slide_body": { - "value": "This slide provides an overview of JSON format and its uses.", + "value": "Q1 revenue increased 12% year-over-year. Key highlights: product X adoption up 30%, marketing ROI improved, and operational costs reduced by 5%. Action items: expand sales team in region A, launch campaign B in May.", "type": "string", "required": true } @@ -201,7 +207,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleSlides.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleSlides.GenerateGoogleFilePickerUrl@1.3.2", + "fullyQualifiedName": "GoogleSlides.GenerateGoogleFilePickerUrl@1.3.3", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -227,7 +233,7 @@ { "name": "GetPresentationAsMarkdown", "qualifiedName": "GoogleSlides.GetPresentationAsMarkdown", - "fullyQualifiedName": "GoogleSlides.GetPresentationAsMarkdown@1.3.2", + "fullyQualifiedName": "GoogleSlides.GetPresentationAsMarkdown@1.3.3", "description": "Get the specified Google Slides presentation and convert it to markdown.\n\nOnly retrieves the text content of the presentation and formats it as markdown.", "parameters": [ { @@ -242,7 +248,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -255,7 +263,7 @@ "toolName": "GoogleSlides.GetPresentationAsMarkdown", "parameters": { "presentation_id": { - "value": "1a2B3cD4E5fG6H7I8J9K0", + "value": "1A2b3C4d5E6f7G8h9I0jKlmnoPQrStUvWxYz", "type": "string", "required": true } @@ -268,7 +276,7 @@ { "name": "ListPresentationComments", "qualifiedName": "GoogleSlides.ListPresentationComments", - "fullyQualifiedName": "GoogleSlides.ListPresentationComments@1.3.2", + "fullyQualifiedName": "GoogleSlides.ListPresentationComments@1.3.3", "description": "List all comments on the specified Google Slides presentation.", "parameters": [ { @@ -291,7 +299,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -304,7 +314,7 @@ "toolName": "GoogleSlides.ListPresentationComments", "parameters": { "presentation_id": { - "value": "1A2B3C4D5E6F7G8H9I0J", + "value": "1A2b3C4d5E6fG7h8I9jK0lMnOpQrStUvWxYz", "type": "string", "required": true }, @@ -322,7 +332,7 @@ { "name": "SearchPresentations", "qualifiedName": "GoogleSlides.SearchPresentations", - "fullyQualifiedName": "GoogleSlides.SearchPresentations@1.3.2", + "fullyQualifiedName": "GoogleSlides.SearchPresentations@1.3.3", "description": "Searches for presentations in the user's Google Drive.\nExcludes presentations that are in the trash.", "parameters": [ { @@ -419,7 +429,9 @@ "auth": { "providerId": "google", "providerType": "oauth2", - "scopes": ["https://www.googleapis.com/auth/drive.file"] + "scopes": [ + "https://www.googleapis.com/auth/drive.file" + ] }, "secrets": [], "secretsInfo": [], @@ -432,17 +444,23 @@ "toolName": "GoogleSlides.SearchPresentations", "parameters": { "presentation_contains": { - "value": ["marketing", "2023", "presentation"], + "value": [ + "Q2 Strategy", + "Marketing Plan" + ], "type": "array", "required": false }, "presentation_not_contains": { - "value": ["draft", "internal"], + "value": [ + "Draft", + "Internal Use Only" + ], "type": "array", "required": false }, "search_only_in_shared_drive_id": { - "value": "abc123xyz", + "value": "0A9bCdeFGhIJKlMnopqr", "type": "string", "required": false }, @@ -457,17 +475,20 @@ "required": false }, "order_by": { - "value": ["modifiedTime desc"], + "value": [ + "modifiedTime desc", + "name asc" + ], "type": "array", "required": false }, "limit": { - "value": 10, + "value": 50, "type": "integer", "required": false }, "pagination_token": { - "value": "token123", + "value": "CAoQAA", "type": "string", "required": false } @@ -480,7 +501,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleSlides.WhoAmI", - "fullyQualifiedName": "GoogleSlides.WhoAmI@1.3.2", + "fullyQualifiedName": "GoogleSlides.WhoAmI@1.3.3", "description": "Get comprehensive user profile and Google Slides environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Slides access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -508,19 +529,9 @@ } } ], - "documentationChunks": [ - { - "type": "section", - "location": "custom_section", - "position": "after", - "content": "## GoogleSlides Reference\n\nBelow is a reference of enumerations used by some tools in the GoogleSlides MCP Server:\n\n### OrderBy\n\n- **CREATED_TIME**: `createdTime`\n- **CREATED_TIME_DESC**: `createdTime desc`\n- **FOLDER**: `folder`\n- **FOLDER_DESC**: `folder desc`\n- **MODIFIED_BY_ME_TIME**: `modifiedByMeTime`\n- **MODIFIED_BY_ME_TIME_DESC**: `modifiedByMeTime desc`\n- **MODIFIED_TIME**: `modifiedTime`\n- **MODIFIED_TIME_DESC**: `modifiedTime desc`\n- **NAME**: `name`\n- **NAME_DESC**: `name desc`\n- **NAME_NATURAL**: `name_natural`\n- **NAME_NATURAL_DESC**: `name_natural desc`\n- **QUOTA_BYTES_USED**: `quotaBytesUsed`\n- **QUOTA_BYTES_USED_DESC**: `quotaBytesUsed desc`\n- **RECENCY**: `recency`\n- **RECENCY_DESC**: `recency desc`\n- **SHARED_WITH_ME_TIME**: `sharedWithMeTime`\n- **SHARED_WITH_ME_TIME_DESC**: `sharedWithMeTime desc`\n- **STARRED**: `starred`\n- **STARRED_DESC**: `starred desc`\n- **VIEWED_BY_ME_TIME**: `viewedByMeTime`\n- **VIEWED_BY_ME_TIME_DESC**: `viewedByMeTime desc`\n\n", - "header": "## GoogleSlides Reference" - } - ], - "customImports": [ - "import ScopePicker from \"@/app/_components/scope-picker\";" - ], + "documentationChunks": [], + "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:33:35.118Z", + "generatedAt": "2026-02-18T21:01:27.702Z", "summary": "Arcade.dev provides a powerful toolkit for Google Slides, enabling seamless integration and manipulation of presentations within Google Drive. This toolkit allows developers to automate various tasks related to presentation management, enhancing productivity and collaboration.\n\n**Capabilities**\n- Generate, modify, and comment on slides within presentations.\n- Create new Google Slides presentations with specified content.\n- Retrieve presentations and convert them to markdown format.\n- Search for and list presentations in the user's Google Drive.\n- Access comprehensive user profile information and permissions.\n\n**OAuth**\n- Provider: Google\n- Scopes: [https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile]" -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/index.json b/toolkit-docs-generator/data/toolkits/index.json index af48d1e93..66fd1af5e 100644 --- a/toolkit-docs-generator/data/toolkits/index.json +++ b/toolkit-docs-generator/data/toolkits/index.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-01-26T19:59:55.801Z", + "generatedAt": "2026-02-18T21:16:00.166Z", "version": "1.0.0", "toolkits": [ { @@ -7,105 +7,106 @@ "label": "Airtable API", "version": "4.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 96, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "ArcadeEngineApi", "label": "Arcade Engine API", "version": "1.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 29, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Asana", "label": "Asana", "version": "1.1.1", "category": "productivity", + "type": "arcade", "toolCount": 19, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "AsanaApi", "label": "Asana API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 199, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "AshbyApi", "label": "Ashby API", "version": "2.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 141, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "BoxApi", "label": "Box API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 188, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Brightdata", "label": "Bright Data", "version": "0.2.0", "category": "development", + "type": "community", "toolCount": 3, - "authType": "none", - "type": "community" + "authType": "none" }, { "id": "CalendlyApi", "label": "Calendly API", "version": "3.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 51, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Clickup", "label": "ClickUp", "version": "1.1.1", "category": "productivity", + "type": "arcade", "toolCount": 24, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "ClickupApi", "label": "ClickUp API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 134, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "CodeSandbox", "label": "Codesandbox", "version": "2.0.1", "category": "development", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "ComplexTools", "label": "ComplexTools", "version": "0.1.0", "category": "development", + "type": "arcade", "toolCount": 6, "authType": "none" }, @@ -114,60 +115,61 @@ "label": "Confluence", "version": "2.2.2", "category": "productivity", + "type": "arcade", "toolCount": 14, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "CursorAgentsApi", "label": "Cursor Agents API", "version": "0.1.1", "category": "development", + "type": "arcade_starter", "toolCount": 7, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "CustomerioApi", "label": "Customer.io API", "version": "1.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 115, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "CustomerioPipelinesApi", "label": "Customer.io Pipelines API", "version": "1.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 7, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "CustomerioTrackApi", "label": "Customer.io Track API", "version": "1.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 17, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "DatadogApi", "label": "Datadog API", "version": "2.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 588, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Deepwiki", "label": "Deepwiki", "version": "0.0.1", "category": "development", + "type": "arcade", "toolCount": 3, "authType": "none" }, @@ -176,33 +178,34 @@ "label": "Dropbox", "version": "1.0.1", "category": "productivity", + "type": "arcade", "toolCount": 3, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "E2b", "label": "E2B", "version": "3.0.1", "category": "development", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "ExaApi", "label": "Exa API", "version": "2.0.0", "category": "search", + "type": "arcade_starter", "toolCount": 45, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Figma", "label": "Figma", "version": "0.1.0", "category": "development", + "type": "arcade", "toolCount": 15, "authType": "oauth2" }, @@ -211,60 +214,61 @@ "label": "Figma API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 43, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Firecrawl", "label": "Firecrawl", "version": "3.0.1", "category": "development", + "type": "arcade", "toolCount": 6, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "FreshserviceApi", "label": "Freshservice API", "version": "3.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 214, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Github", "label": "GitHub", "version": "2.0.1", "category": "development", + "type": "arcade", "toolCount": 44, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GithubApi", "label": "GitHub API", "version": "1.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 818, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Gmail", "label": "Gmail", "version": "4.1.0", "category": "productivity", + "type": "arcade", "toolCount": 18, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Google", "label": "Google", "version": "2.0.2", "category": "development", + "type": "arcade", "toolCount": 37, "authType": "oauth2" }, @@ -273,267 +277,268 @@ "label": "Google Calendar", "version": "3.2.2", "category": "productivity", + "type": "arcade", "toolCount": 7, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleContacts", "label": "Google Contacts", "version": "3.4.0", "category": "productivity", + "type": "arcade", "toolCount": 5, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleDocs", "label": "Google Docs", - "version": "5.0.1", + "version": "5.0.3", "category": "productivity", + "type": "arcade", "toolCount": 13, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleDrive", "label": "Google Drive", "version": "5.1.0", "category": "productivity", + "type": "arcade", "toolCount": 11, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleFinance", "label": "Google Finance", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleFlights", "label": "Google Flights", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleHotels", "label": "Google Hotels", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleJobs", "label": "Google Jobs", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleMaps", "label": "Google Maps", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleNews", "label": "Google News", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleSearch", "label": "Google Search", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleSheets", "label": "Google Sheets", - "version": "5.1.0", + "version": "5.1.1", "category": "productivity", + "type": "arcade", "toolCount": 9, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "GoogleShopping", "label": "Google Shopping", "version": "3.1.2", "category": "search", + "type": "arcade", "toolCount": 1, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "GoogleSlides", "label": "Google Slides", - "version": "1.3.2", + "version": "1.3.3", "category": "productivity", + "type": "arcade", "toolCount": 8, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Hubspot", "label": "HubSpot", "version": "3.0.0", "category": "sales", + "type": "arcade", "toolCount": 40, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "HubspotAutomationApi", "label": "HubSpot Automation API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 9, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotCmsApi", "label": "HubSpot CMS API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 175, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotConversationsApi", "label": "HubSpot Conversations API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 24, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotCrmApi", "label": "HubSpot CRM API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 453, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotEventsApi", "label": "HubSpot Events API", "version": "2.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 6, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotMarketingApi", "label": "HubSpot Marketing API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 90, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotMeetingsApi", "label": "HubSpot Meetings API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 5, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "HubspotUsersApi", "label": "HubSpot Users API", "version": "1.0.0", "category": "sales", + "type": "arcade_starter", "toolCount": 7, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Imgflip", "label": "Imgflip", "version": "1.0.1", "category": "entertainment", + "type": "arcade", "toolCount": 3, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "IntercomApi", "label": "Intercom API", "version": "1.0.0", "category": "customer-support", + "type": "arcade_starter", "toolCount": 107, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Jira", "label": "Jira", "version": "3.0.2", "category": "productivity", + "type": "auth", "toolCount": 43, - "authType": "oauth2", - "type": "auth" + "authType": "oauth2" }, { "id": "Linear", "label": "Linear", - "version": "3.2.0", + "version": "3.2.1", "category": "productivity", + "type": "arcade", "toolCount": 39, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Linkedin", "label": "LinkedIn", "version": "0.1.14", "category": "social", + "type": "arcade", "toolCount": 1, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "LumaApi", "label": "Luma API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 37, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "MailchimpMarketingApi", - "label": "MailchimpMarketingApi", + "label": "Mailchimp API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 278, "authType": "oauth2" }, @@ -542,6 +547,7 @@ "label": "Math", "version": "1.0.5", "category": "development", + "type": "arcade", "toolCount": 23, "authType": "none" }, @@ -550,6 +556,7 @@ "label": "Microsoft", "version": "1.1.1", "category": "development", + "type": "arcade", "toolCount": 11, "authType": "oauth2" }, @@ -558,51 +565,52 @@ "label": "Microsoft Teams", "version": "0.4.1", "category": "social", + "type": "arcade", "toolCount": 25, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "MiroApi", "label": "Miro API", "version": "3.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 139, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "NotionToolkit", "label": "Notion", "version": "1.2.1", "category": "productivity", + "type": "arcade", "toolCount": 8, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "OutlookCalendar", "label": "Outlook Calendar", "version": "2.2.1", "category": "productivity", + "type": "arcade", "toolCount": 4, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "OutlookMail", "label": "Outlook Mail", "version": "2.3.0", "category": "productivity", + "type": "arcade", "toolCount": 9, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Pagerduty", "label": "Pagerduty", "version": "0.2.0", "category": "development", + "type": "arcade", "toolCount": 14, "authType": "oauth2" }, @@ -611,24 +619,25 @@ "label": "PagerDuty API", "version": "4.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 374, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "PosthogApi", "label": "PostHog API", "version": "2.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 766, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Pylon", "label": "Pylon", "version": "0.2.0", "category": "development", + "type": "arcade", "toolCount": 13, "authType": "none" }, @@ -637,6 +646,7 @@ "label": "PylonApi", "version": "1.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 82, "authType": "none" }, @@ -645,95 +655,97 @@ "label": "Reddit", "version": "1.1.1", "category": "social", + "type": "arcade", "toolCount": 11, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Salesforce", "label": "Salesforce", "version": "2.0.1", "category": "sales", + "type": "arcade", "toolCount": 3, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "Search", "label": "Search", "version": "2.0.1", "category": "development", + "type": "arcade", "toolCount": 15, "authType": "none" }, { "id": "Sharepoint", "label": "Microsoft SharePoint", - "version": "0.4.1", + "version": "0.7.0", "category": "productivity", - "toolCount": 12, - "authType": "oauth2", - "type": "arcade" + "type": "arcade", + "toolCount": 28, + "authType": "oauth2" }, { "id": "Slack", "label": "Slack", - "version": "2.0.0", + "version": "2.1.0", "category": "social", - "toolCount": 8, - "authType": "oauth2", - "type": "arcade" + "type": "arcade", + "toolCount": 9, + "authType": "oauth2" }, { "id": "SlackApi", "label": "Slack API", "version": "1.0.0", "category": "social", + "type": "arcade_starter", "toolCount": 73, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Spotify", "label": "Spotify", "version": "1.0.2", "category": "entertainment", + "type": "arcade", "toolCount": 13, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "SquareupApi", "label": "SquareUp API", "version": "4.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 286, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Stripe", "label": "Stripe", - "version": "1.0.1", + "version": "1.0.2", "category": "payments", + "type": "arcade", "toolCount": 15, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "StripeApi", "label": "Stripe API", "version": "1.0.0", "category": "payments", + "type": "arcade_starter", "toolCount": 220, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Test2", "label": "Test2", "version": "0.1.0", "category": "development", + "type": "arcade", "toolCount": 6, "authType": "none" }, @@ -742,24 +754,25 @@ "label": "TickTick API", "version": "1.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 11, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "TrelloApi", "label": "Trello API", "version": "3.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 246, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "UpclickApi", - "label": "UpclickApi", + "label": "ClickUp API", "version": "0.1.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 7, "authType": "oauth2" }, @@ -768,89 +781,90 @@ "label": "Vercel API", "version": "1.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 194, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Walmart", "label": "Walmart", "version": "3.0.1", "category": "search", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "WeaviateApi", "label": "Weaviate API", "version": "2.0.0", "category": "development", + "type": "arcade_starter", "toolCount": 81, - "authType": "none", - "type": "arcade_starter" + "authType": "none" }, { "id": "Web", "label": "Web", "version": "2.0.1", "category": "development", + "type": "arcade", "toolCount": 6, "authType": "none" }, { "id": "X", "label": "X", - "version": "1.1.1", + "version": "1.3.1", "category": "social", - "toolCount": 7, - "authType": "oauth2", - "type": "arcade" + "type": "arcade", + "toolCount": 8, + "authType": "oauth2" }, { "id": "XeroApi", "label": "Xero API", "version": "2.0.0", "category": "productivity", + "type": "arcade_starter", "toolCount": 153, - "authType": "oauth2", - "type": "arcade_starter" + "authType": "oauth2" }, { "id": "Youtube", "label": "Youtube", - "version": "3.1.2", + "version": "3.1.4", "category": "search", + "type": "arcade", "toolCount": 2, - "authType": "none", - "type": "arcade" + "authType": "none" }, { "id": "Zendesk", "label": "Zendesk", "version": "0.3.1", "category": "customer-support", + "type": "arcade", "toolCount": 6, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" }, { "id": "ZohoBooksApi", "label": "Zoho Books API", - "version": "0.0.0", + "version": "1.0.0", "category": "payments", - "toolCount": 0, - "authType": "none", - "type": "arcade_starter" + "type": "arcade_starter", + "toolCount": 511, + "authType": "oauth2" }, { "id": "Zoom", "label": "Zoom", "version": "1.0.1", "category": "social", + "type": "arcade", "toolCount": 2, - "authType": "oauth2", - "type": "arcade" + "authType": "oauth2" } ] -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/linear.json b/toolkit-docs-generator/data/toolkits/linear.json index 0e2e58baf..605259c0d 100644 --- a/toolkit-docs-generator/data/toolkits/linear.json +++ b/toolkit-docs-generator/data/toolkits/linear.json @@ -1,7 +1,7 @@ { "id": "Linear", "label": "Linear", - "version": "3.2.0", + "version": "3.2.1", "description": "Arcade tools designed for LLMs to interact with Linear", "metadata": { "category": "productivity", @@ -9,20 +9,25 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/linear", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/linear", "isComingSoon": false, "isHidden": false }, "auth": { "type": "oauth2", "providerId": "linear", - "allScopes": ["comments:create", "issues:create", "read", "write"] + "allScopes": [ + "comments:create", + "issues:create", + "read", + "write" + ] }, "tools": [ { "name": "AddComment", "qualifiedName": "Linear.AddComment", - "fullyQualifiedName": "Linear.AddComment@3.2.0", + "fullyQualifiedName": "Linear.AddComment@3.2.1", "description": "Add a comment to an issue.", "parameters": [ { @@ -45,7 +50,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["comments:create"] + "scopes": [ + "comments:create" + ] }, "secrets": [], "secretsInfo": [], @@ -63,7 +70,7 @@ "required": true }, "body": { - "value": "This is a comment on the issue. **Important:** Please review this.", + "value": "Hi team,\n\nI've noticed inconsistent behavior in the authentication flow when the session expires. Steps to reproduce:\n1. Log in\n2. Wait ~30 minutes\n3. Attempt to refresh the token\n\nExpected: Token refresh succeeds.\nActual: User is redirected to the login page.\n\nCan someone take a look? I can attach logs if helpful.\n\nThanks,\n@alice", "type": "string", "required": true } @@ -76,7 +83,7 @@ { "name": "AddProjectComment", "qualifiedName": "Linear.AddProjectComment", - "fullyQualifiedName": "Linear.AddProjectComment@3.2.0", + "fullyQualifiedName": "Linear.AddProjectComment@3.2.1", "description": "Add a comment to a project's document content.\n\nIMPORTANT: Due to Linear API limitations, comments created via the API will NOT\nappear visually anchored inline in the document (no yellow highlight on text).\nThe comment will be stored and can be retrieved via list_project_comments, but\nit will appear in the comments panel rather than inline in the document.\n\nFor true inline comments that are visually anchored to text, users should create\nthem directly in the Linear UI by selecting text and adding a comment.\n\nThe quoted_text parameter stores metadata about what text the comment references,\nwhich is useful for context even though the comment won't be visually anchored.", "parameters": [ { @@ -115,7 +122,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["comments:create"] + "scopes": [ + "comments:create" + ] }, "secrets": [], "secretsInfo": [], @@ -128,22 +137,22 @@ "toolName": "Linear.AddProjectComment", "parameters": { "project": { - "value": "proj-12345", + "value": "proj_01F7ZQS3X5K9QWY0ABCD1234", "type": "string", "required": true }, "body": { - "value": "This is a comment about the project.", + "value": "- Updated timeline and milestones based on today's planning meeting.\n\nPlease review the changes and confirm owners for each milestone.\n\n- Moved launch date to 2026-05-15\n- Added QA sprint from 2026-04-20 to 2026-04-30\n\n@product Please confirm the acceptance criteria for the QA sprint.\n\nThanks!", "type": "string", "required": true }, "quoted_text": { - "value": "Project milestones must be met by Q3.", + "value": "Update the homepage hero to support internationalization and responsive imagery.", "type": "string", "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -156,7 +165,7 @@ { "name": "AddProjectToInitiative", "qualifiedName": "Linear.AddProjectToInitiative", - "fullyQualifiedName": "Linear.AddProjectToInitiative@3.2.0", + "fullyQualifiedName": "Linear.AddProjectToInitiative@3.2.1", "description": "Link a project to an initiative.\n\nBoth initiative and project can be specified by ID or name.\nIf a name is provided, fuzzy matching is used to resolve it.", "parameters": [ { @@ -187,7 +196,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -200,12 +211,12 @@ "toolName": "Linear.AddProjectToInitiative", "parameters": { "initiative": { - "value": "Initiative Alpha", + "value": "Website Redesign Initiative", "type": "string", "required": true }, "project": { - "value": "Project Beta", + "value": "PRJ-8921", "type": "string", "required": true }, @@ -223,7 +234,7 @@ { "name": "ArchiveInitiative", "qualifiedName": "Linear.ArchiveInitiative", - "fullyQualifiedName": "Linear.ArchiveInitiative@3.2.0", + "fullyQualifiedName": "Linear.ArchiveInitiative@3.2.1", "description": "Archive an initiative.\n\nArchived initiatives are hidden from default views but can be restored.", "parameters": [ { @@ -246,7 +257,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -259,7 +272,7 @@ "toolName": "Linear.ArchiveInitiative", "parameters": { "initiative": { - "value": "2023_Q3_Marketing_Plan", + "value": "init_7890", "type": "string", "required": true }, @@ -277,7 +290,7 @@ { "name": "ArchiveIssue", "qualifiedName": "Linear.ArchiveIssue", - "fullyQualifiedName": "Linear.ArchiveIssue@3.2.0", + "fullyQualifiedName": "Linear.ArchiveIssue@3.2.1", "description": "Archive an issue.\n\nArchived issues are hidden from default views but can be restored.", "parameters": [ { @@ -292,7 +305,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -318,7 +333,7 @@ { "name": "ArchiveProject", "qualifiedName": "Linear.ArchiveProject", - "fullyQualifiedName": "Linear.ArchiveProject@3.2.0", + "fullyQualifiedName": "Linear.ArchiveProject@3.2.1", "description": "Archive a project.\n\nArchived projects are hidden from default views but can be restored.", "parameters": [ { @@ -341,7 +356,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -354,7 +371,7 @@ "toolName": "Linear.ArchiveProject", "parameters": { "project": { - "value": "example-project-123", + "value": "alpha-launch", "type": "string", "required": true }, @@ -372,7 +389,7 @@ { "name": "CreateInitiative", "qualifiedName": "Linear.CreateInitiative", - "fullyQualifiedName": "Linear.CreateInitiative@3.2.0", + "fullyQualifiedName": "Linear.CreateInitiative@3.2.1", "description": "Create a new Linear initiative.\n\nInitiatives are high-level strategic goals that group related projects.", "parameters": [ { @@ -418,7 +435,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -431,22 +450,22 @@ "toolName": "Linear.CreateInitiative", "parameters": { "name": { - "value": "Expand Market Presence", + "value": "Improve mobile onboarding experience", "type": "string", "required": true }, "description": { - "value": "### Goal\nIncrease our market penetration in the following regions:\n- North America\n- Europe\n\n### Expected Outcomes\n- 20% increase in sales\n- Improved brand recognition", + "value": "## Goals\n- Reduce time-to-first-task by 30%\n- Increase activation rate for new users\n\nBackground: Revamp onboarding flow to simplify steps and add contextual tips. Deliverables include redesigned screens, analytics tracking, and an A/B test.", "type": "string", "required": false }, "status": { - "value": "in progress", + "value": "planned", "type": "string", "required": false }, "target_date": { - "value": "2024-12-31", + "value": "2026-09-30", "type": "string", "required": false } @@ -459,7 +478,7 @@ { "name": "CreateIssue", "qualifiedName": "Linear.CreateIssue", - "fullyQualifiedName": "Linear.CreateIssue@3.2.0", + "fullyQualifiedName": "Linear.CreateIssue@3.2.1", "description": "Create a new Linear issue with validation.\n\nWhen assignee is None or '@me', the issue is assigned to the authenticated user.\nAll entity references (team, assignee, labels, state, project, cycle, parent)\nare validated before creation. If an entity is not found, suggestions are\nreturned to help correct the input.", "parameters": [ { @@ -508,7 +527,13 @@ "type": "string", "required": false, "description": "Issue priority. Default is None (no priority).", - "enum": ["none", "urgent", "high", "medium", "low"], + "enum": [ + "none", + "urgent", + "high", + "medium", + "low" + ], "inferrable": true }, { @@ -587,7 +612,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["issues:create"] + "scopes": [ + "issues:create" + ] }, "secrets": [], "secretsInfo": [], @@ -600,17 +627,17 @@ "toolName": "Linear.CreateIssue", "parameters": { "team": { - "value": "Engineering", + "value": "platform", "type": "string", "required": true }, "title": { - "value": "Fix login bug", + "value": "Fix intermittent crash when saving settings", "type": "string", "required": true }, "description": { - "value": "There is an issue with the login functionality that needs to be addressed. Please check the backend logs for more details.", + "value": "Users report an intermittent crash when saving settings in the account page.\n\nSteps to reproduce:\n1. Go to Settings > Account\n2. Toggle \"Enable advanced sync\"\n3. Click Save\n\nObserved: App crashes ~10% of the time with a NullReferenceException.\nExpected: Settings save successfully.\n\nLogs and reproduction attached. Please investigate race condition in SettingsService.save().", "type": "string", "required": false }, @@ -620,57 +647,61 @@ "required": false }, "labels_to_add": { - "value": ["bug", " urgent"], + "value": [ + "bug", + "crash", + "needs-investigation" + ], "type": "array", "required": false }, "priority": { - "value": "high", + "value": "High", "type": "string", "required": false }, "state": { - "value": "In Progress", + "value": "Backlog", "type": "string", "required": false }, "project": { - "value": "User Authentication", + "value": "settings-revamp", "type": "string", "required": false }, "cycle": { - "value": "Q4-2023", + "value": "Sprint 12", "type": "string", "required": false }, "parent_issue": { - "value": null, + "value": "PLT-456", "type": "string", "required": false }, "estimate": { - "value": 5, + "value": 3, "type": "integer", "required": false }, "due_date": { - "value": "2023-11-01", + "value": "2026-03-05", "type": "string", "required": false }, "attachment_url": { - "value": "https://example.com/screenshot.png", + "value": "https://example.com/logs/stacktrace-2026-02-18.txt", "type": "string", "required": false }, "attachment_title": { - "value": "Login Bug Screenshot", + "value": "Stacktrace from 2026-02-18 crash", "type": "string", "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -683,7 +714,7 @@ { "name": "CreateIssueRelation", "qualifiedName": "Linear.CreateIssueRelation", - "fullyQualifiedName": "Linear.CreateIssueRelation@3.2.0", + "fullyQualifiedName": "Linear.CreateIssueRelation@3.2.1", "description": "Create a relation between two issues.\n\nRelation types define the relationship from the source issue's perspective:\n- blocks: Source issue blocks the related issue\n- blockedBy: Source issue is blocked by the related issue\n- duplicate: Source issue is a duplicate of the related issue\n- related: Issues are related (bidirectional)", "parameters": [ { @@ -707,14 +738,21 @@ "type": "string", "required": true, "description": "Type of relation to create.", - "enum": ["blocks", "blockedBy", "duplicate", "related"], + "enum": [ + "blocks", + "blockedBy", + "duplicate", + "related" + ], "inferrable": true } ], "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -732,7 +770,7 @@ "required": true }, "related_issue": { - "value": "ISSUE-456", + "value": "ISSUE-124", "type": "string", "required": true }, @@ -750,7 +788,7 @@ { "name": "CreateProject", "qualifiedName": "Linear.CreateProject", - "fullyQualifiedName": "Linear.CreateProject@3.2.0", + "fullyQualifiedName": "Linear.CreateProject@3.2.1", "description": "Create a new Linear project.\n\nTeam is validated before creation. If team is not found, suggestions are\nreturned to help correct the input. Lead is validated if provided.", "parameters": [ { @@ -836,7 +874,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -849,27 +889,27 @@ "toolName": "Linear.CreateProject", "parameters": { "name": { - "value": "New Product Launch", + "value": "Website Redesign Q2", "type": "string", "required": true }, "team": { - "value": "Marketing", + "value": "Engineering", "type": "string", "required": true }, "description": { - "value": "This project focuses on the launch of our new product line.", + "value": "Redesign the public website to improve conversion rates and mobile experience.", "type": "string", "required": false }, "content": { - "value": "# Project Overview\nThis document outlines the strategy and timeline for the product launch.", + "value": "# Website Redesign\n\nObjectives:\n- Increase conversion rate by 15%\n- Improve mobile UX\n\nScope:\n- New homepage\n- Updated product pages\n- CMS migration\n\nMilestones:\n1. Discovery\n2. Design\n3. Implementation\n4. Launch", "type": "string", "required": false }, "state": { - "value": "active", + "value": "planned", "type": "string", "required": false }, @@ -879,17 +919,17 @@ "required": false }, "start_date": { - "value": "2023-11-01", + "value": "2026-03-01", "type": "string", "required": false }, "target_date": { - "value": "2024-01-15", + "value": "2026-06-30", "type": "string", "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -902,7 +942,7 @@ { "name": "CreateProjectUpdate", "qualifiedName": "Linear.CreateProjectUpdate", - "fullyQualifiedName": "Linear.CreateProjectUpdate@3.2.0", + "fullyQualifiedName": "Linear.CreateProjectUpdate@3.2.1", "description": "Create a project status update.\n\nProject updates are posts that communicate progress, blockers, or status\nchanges to stakeholders. They appear in the project's Updates tab and\ncan include a health status indicator.", "parameters": [ { @@ -926,14 +966,20 @@ "type": "string", "required": false, "description": "Project health status. Default is None (no change).", - "enum": ["onTrack", "atRisk", "offTrack"], + "enum": [ + "onTrack", + "atRisk", + "offTrack" + ], "inferrable": true } ], "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -946,17 +992,17 @@ "toolName": "Linear.CreateProjectUpdate", "parameters": { "project_id": { - "value": "proj_123456", + "value": "prj_01FJZQZ7Y8A2B3C4D5E6", "type": "string", "required": true }, "body": { - "value": "## Update on Project Progress\n\nWe have made significant progress this week. The new features are nearing completion and we are on track for the launch. \n\n**Blockers:** \n- Awaiting feedback from the design team on UI components.\n\n**Next Steps:** \n- Finalize testing by end of the week.", + "value": "## Weekly Update - Sprint 12\n\nSummary: Completed the API integration for user profiles and started performance testing.\n\nProgress:\n- Implemented endpoints for profile retrieval and update (PRs #102, #104)\n- Integrated caching layer to reduce DB load\n\nBlockers:\n- External auth provider rate limits causing intermittent failures\n\nNext Steps:\n1. Mitigate auth provider limits with exponential backoff and retries\n2. Continue performance testing and optimize queries\n\nIf anything urgent, please ping @team-leads.", "type": "string", "required": true }, "health": { - "value": "On Track", + "value": "at_risk", "type": "string", "required": false } @@ -969,7 +1015,7 @@ { "name": "GetCycle", "qualifiedName": "Linear.GetCycle", - "fullyQualifiedName": "Linear.GetCycle@3.2.0", + "fullyQualifiedName": "Linear.GetCycle@3.2.1", "description": "Get detailed information about a specific Linear cycle.", "parameters": [ { @@ -984,7 +1030,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -997,7 +1045,7 @@ "toolName": "Linear.GetCycle", "parameters": { "cycle_id": { - "value": "abc123", + "value": "c_1234567890abcdef", "type": "string", "required": true } @@ -1010,7 +1058,7 @@ { "name": "GetInitiative", "qualifiedName": "Linear.GetInitiative", - "fullyQualifiedName": "Linear.GetInitiative@3.2.0", + "fullyQualifiedName": "Linear.GetInitiative@3.2.1", "description": "Get detailed information about a specific Linear initiative.\n\nSupports lookup by ID or name (with fuzzy matching for name).", "parameters": [ { @@ -1026,7 +1074,10 @@ "type": "string", "required": false, "description": "How to look up the initiative. Default is id.", - "enum": ["id", "name"], + "enum": [ + "id", + "name" + ], "inferrable": true }, { @@ -1049,7 +1100,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1062,12 +1115,12 @@ "toolName": "Linear.GetInitiative", "parameters": { "value": { - "value": "12345", + "value": "Simplify onboarding flow", "type": "string", "required": true }, "lookup_by": { - "value": "id", + "value": "name", "type": "string", "required": false }, @@ -1077,7 +1130,7 @@ "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -1090,7 +1143,7 @@ { "name": "GetInitiativeDescription", "qualifiedName": "Linear.GetInitiativeDescription", - "fullyQualifiedName": "Linear.GetInitiativeDescription@3.2.0", + "fullyQualifiedName": "Linear.GetInitiativeDescription@3.2.1", "description": "Get an initiative's full description with pagination support.\n\nUse this tool when you need the complete description of an initiative that\nwas truncated in the get_initiative response. Supports chunked reading for\nvery large descriptions.", "parameters": [ { @@ -1121,7 +1174,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1134,7 +1189,7 @@ "toolName": "Linear.GetInitiativeDescription", "parameters": { "initiative_id": { - "value": "12345", + "value": "init_01H7ZJ4A8E5G6KLMNOP", "type": "string", "required": true }, @@ -1144,7 +1199,7 @@ "required": false }, "limit": { - "value": 1500, + "value": 2000, "type": "integer", "required": false } @@ -1157,7 +1212,7 @@ { "name": "GetIssue", "qualifiedName": "Linear.GetIssue", - "fullyQualifiedName": "Linear.GetIssue@3.2.0", + "fullyQualifiedName": "Linear.GetIssue@3.2.1", "description": "Get detailed information about a specific Linear issue.\n\nAccepts either the issue UUID or the human-readable identifier (like TOO-123).", "parameters": [ { @@ -1204,7 +1259,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1250,7 +1307,7 @@ { "name": "GetNotifications", "qualifiedName": "Linear.GetNotifications", - "fullyQualifiedName": "Linear.GetNotifications@3.2.0", + "fullyQualifiedName": "Linear.GetNotifications@3.2.1", "description": "Get the authenticated user's notifications.\n\nReturns notifications including issue mentions, comments, assignments,\nand state changes.", "parameters": [ { @@ -1281,7 +1338,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1299,12 +1358,12 @@ "required": false }, "limit": { - "value": 15, + "value": 25, "type": "integer", "required": false }, "end_cursor": { - "value": "abc123", + "value": "YXJyYXljb25uZWN0aW9uOjI=", "type": "string", "required": false } @@ -1317,7 +1376,7 @@ { "name": "GetProject", "qualifiedName": "Linear.GetProject", - "fullyQualifiedName": "Linear.GetProject@3.2.0", + "fullyQualifiedName": "Linear.GetProject@3.2.1", "description": "Get detailed information about a specific Linear project.\n\nSupports lookup by ID, slug_id, or name (with fuzzy matching for name).", "parameters": [ { @@ -1333,7 +1392,11 @@ "type": "string", "required": false, "description": "How to look up the project. Default is id.", - "enum": ["id", "slug_id", "name"], + "enum": [ + "id", + "slug_id", + "name" + ], "inferrable": true }, { @@ -1364,7 +1427,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1377,12 +1442,12 @@ "toolName": "Linear.GetProject", "parameters": { "value": { - "value": "proj-1234", + "value": "Marketing Website Redesign", "type": "string", "required": true }, "lookup_by": { - "value": "id", + "value": "name", "type": "string", "required": false }, @@ -1397,7 +1462,7 @@ "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -1410,7 +1475,7 @@ { "name": "GetProjectDescription", "qualifiedName": "Linear.GetProjectDescription", - "fullyQualifiedName": "Linear.GetProjectDescription@3.2.0", + "fullyQualifiedName": "Linear.GetProjectDescription@3.2.1", "description": "Get a project's full description with pagination support.\n\nUse this tool when you need the complete description of a project that\nwas truncated in the get_project response. Supports chunked reading for\nvery large descriptions.", "parameters": [ { @@ -1441,7 +1506,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1454,7 +1521,7 @@ "toolName": "Linear.GetProjectDescription", "parameters": { "project_id": { - "value": "proj-1234", + "value": "acme-website", "type": "string", "required": true }, @@ -1477,7 +1544,7 @@ { "name": "GetRecentActivity", "qualifiedName": "Linear.GetRecentActivity", - "fullyQualifiedName": "Linear.GetRecentActivity@3.2.0", + "fullyQualifiedName": "Linear.GetRecentActivity@3.2.1", "description": "Get the authenticated user's recent issue activity.\n\nReturns issues the user has recently created or been assigned to\nwithin the specified time period.", "parameters": [ { @@ -1500,7 +1567,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1513,7 +1582,7 @@ "toolName": "Linear.GetRecentActivity", "parameters": { "days": { - "value": 15, + "value": 14, "type": "integer", "required": false }, @@ -1531,7 +1600,7 @@ { "name": "GetTeam", "qualifiedName": "Linear.GetTeam", - "fullyQualifiedName": "Linear.GetTeam@3.2.0", + "fullyQualifiedName": "Linear.GetTeam@3.2.1", "description": "Get detailed information about a specific Linear team.\n\nSupports lookup by ID, key (like TOO, ENG), or name (with fuzzy matching).", "parameters": [ { @@ -1547,7 +1616,11 @@ "type": "string", "required": false, "description": "How to look up the team. Default is id.", - "enum": ["id", "key", "name"], + "enum": [ + "id", + "key", + "name" + ], "inferrable": true }, { @@ -1562,7 +1635,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1585,7 +1660,7 @@ "required": false }, "auto_accept_matches": { - "value": true, + "value": false, "type": "boolean", "required": false } @@ -1598,7 +1673,7 @@ { "name": "LinkGithubToIssue", "qualifiedName": "Linear.LinkGithubToIssue", - "fullyQualifiedName": "Linear.LinkGithubToIssue@3.2.0", + "fullyQualifiedName": "Linear.LinkGithubToIssue@3.2.1", "description": "Link a GitHub PR, commit, or issue to a Linear issue.\n\nAutomatically detects the artifact type from the URL and generates\nan appropriate title if not provided.", "parameters": [ { @@ -1629,7 +1704,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -1642,17 +1719,17 @@ "toolName": "Linear.LinkGithubToIssue", "parameters": { "issue": { - "value": "PROJECT-123", + "value": "ISSUE-123", "type": "string", "required": true }, "github_url": { - "value": "https://github.com/user/repo/pull/456", + "value": "https://github.com/octocat/Hello-World/pull/1347", "type": "string", "required": true }, "title": { - "value": "Linking PR to Linear Issue", + "value": "PR #1347: Fix README typo", "type": "string", "required": false } @@ -1665,7 +1742,7 @@ { "name": "ListComments", "qualifiedName": "Linear.ListComments", - "fullyQualifiedName": "Linear.ListComments@3.2.0", + "fullyQualifiedName": "Linear.ListComments@3.2.1", "description": "List comments on an issue.\n\nReturns comments with user info, timestamps, and reply threading info.", "parameters": [ { @@ -1696,7 +1773,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1714,12 +1793,12 @@ "required": true }, "limit": { - "value": 20, + "value": 25, "type": "integer", "required": false }, "end_cursor": { - "value": null, + "value": "YXJyYXljb25uZWN0aW9uOjI1", "type": "string", "required": false } @@ -1732,7 +1811,7 @@ { "name": "ListCycles", "qualifiedName": "Linear.ListCycles", - "fullyQualifiedName": "Linear.ListCycles@3.2.0", + "fullyQualifiedName": "Linear.ListCycles@3.2.1", "description": "List Linear cycles, optionally filtered by team and status.\n\nCycles are time-boxed iterations (like sprints) for organizing work.", "parameters": [ { @@ -1779,7 +1858,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1792,7 +1873,7 @@ "toolName": "Linear.ListCycles", "parameters": { "team": { - "value": "team_123", + "value": "team_marketing", "type": "string", "required": false }, @@ -1812,7 +1893,7 @@ "required": false }, "end_cursor": { - "value": "abc123", + "value": "cursor_eyJpZCI6IjEyMyJ9", "type": "string", "required": false } @@ -1825,7 +1906,7 @@ { "name": "ListInitiatives", "qualifiedName": "Linear.ListInitiatives", - "fullyQualifiedName": "Linear.ListInitiatives@3.2.0", + "fullyQualifiedName": "Linear.ListInitiatives@3.2.1", "description": "List Linear initiatives, optionally filtered by keywords and other criteria.\n\nReturns all initiatives when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -1871,7 +1952,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -1884,7 +1967,7 @@ "toolName": "Linear.ListInitiatives", "parameters": { "keywords": { - "value": "development", + "value": "mobile authentication", "type": "string", "required": false }, @@ -1899,7 +1982,7 @@ "required": false }, "end_cursor": { - "value": "abc123", + "value": "cursor_eyJpZCI6IjEyMyIsIm9mZnNldCI6MjB9", "type": "string", "required": false } @@ -1912,7 +1995,7 @@ { "name": "ListIssues", "qualifiedName": "Linear.ListIssues", - "fullyQualifiedName": "Linear.ListIssues@3.2.0", + "fullyQualifiedName": "Linear.ListIssues@3.2.1", "description": "List Linear issues, optionally filtered by keywords and other criteria.\n\nReturns all issues when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -1952,7 +2035,13 @@ "type": "string", "required": false, "description": "Filter by priority level. Default is None.", - "enum": ["none", "urgent", "high", "medium", "low"], + "enum": [ + "none", + "urgent", + "high", + "medium", + "low" + ], "inferrable": true }, { @@ -1999,7 +2088,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2012,17 +2103,17 @@ "toolName": "Linear.ListIssues", "parameters": { "keywords": { - "value": "bug fix", + "value": "payment timeout failure", "type": "string", "required": false }, "team": { - "value": "development", + "value": "Platform", "type": "string", "required": false }, "state": { - "value": "in progress", + "value": "In Progress", "type": "string", "required": false }, @@ -2032,22 +2123,22 @@ "required": false }, "priority": { - "value": "high", + "value": "High", "type": "string", "required": false }, "label": { - "value": "urgent", + "value": "backend", "type": "string", "required": false }, "project": { - "value": "website redesign", + "value": "Payments Migration", "type": "string", "required": false }, "created_after": { - "value": "2023-01-01", + "value": "2026-01-01", "type": "string", "required": false }, @@ -2057,7 +2148,7 @@ "required": false }, "end_cursor": { - "value": "abc123", + "value": "YXJyYXljb25uZWN0aW9uOjI=", "type": "string", "required": false } @@ -2070,7 +2161,7 @@ { "name": "ListLabels", "qualifiedName": "Linear.ListLabels", - "fullyQualifiedName": "Linear.ListLabels@3.2.0", + "fullyQualifiedName": "Linear.ListLabels@3.2.1", "description": "List available issue labels in the workspace.\n\nReturns labels that can be applied to issues. Use label IDs or names\nwhen creating or updating issues.", "parameters": [ { @@ -2085,7 +2176,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2098,7 +2191,7 @@ "toolName": "Linear.ListLabels", "parameters": { "limit": { - "value": 30, + "value": 25, "type": "integer", "required": false } @@ -2111,7 +2204,7 @@ { "name": "ListProjectComments", "qualifiedName": "Linear.ListProjectComments", - "fullyQualifiedName": "Linear.ListProjectComments@3.2.0", + "fullyQualifiedName": "Linear.ListProjectComments@3.2.1", "description": "List comments on a project's document content.\n\nReturns comments with user info, timestamps, quoted text for inline comments,\nand reply threading info. Replies are nested under their parent comments.\n\nUse comment_filter to control which comments are returned:\n- only_quoted (default): Only comments attached to a quote in the text\n- only_unquoted: Only comments not attached to a particular quote\n- all: All comments regardless of being attached to a quote or not", "parameters": [ { @@ -2127,7 +2220,11 @@ "type": "string", "required": false, "description": "Filter which comments to return. Default is only_quoted.", - "enum": ["only_quoted", "only_unquoted", "all"], + "enum": [ + "only_quoted", + "only_unquoted", + "all" + ], "inferrable": true }, { @@ -2166,7 +2263,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2179,12 +2278,12 @@ "toolName": "Linear.ListProjectComments", "parameters": { "project": { - "value": "12345", + "value": "proj_01FXYZ123456", "type": "string", "required": true }, "comment_filter": { - "value": "only_unquoted", + "value": "all", "type": "string", "required": false }, @@ -2199,12 +2298,12 @@ "required": false }, "end_cursor": { - "value": "abc123", + "value": "eyJjdXJzb3IiOiIxMjM0NTY3OCJ9", "type": "string", "required": false }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -2217,7 +2316,7 @@ { "name": "ListProjects", "qualifiedName": "Linear.ListProjects", - "fullyQualifiedName": "Linear.ListProjects@3.2.0", + "fullyQualifiedName": "Linear.ListProjects@3.2.1", "description": "List Linear projects, optionally filtered by keywords and other criteria.\n\nReturns all projects when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -2272,7 +2371,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2285,7 +2386,7 @@ "toolName": "Linear.ListProjects", "parameters": { "keywords": { - "value": "development", + "value": "marketing redesign", "type": "string", "required": false }, @@ -2295,12 +2396,12 @@ "required": false }, "team": { - "value": "engineering", + "value": "Product", "type": "string", "required": false }, "created_after": { - "value": "2022-01-01", + "value": "2024-01-01", "type": "string", "required": false }, @@ -2310,7 +2411,7 @@ "required": false }, "end_cursor": { - "value": null, + "value": "cursor_eyJpZCI6MTIz", "type": "string", "required": false } @@ -2323,7 +2424,7 @@ { "name": "ListTeams", "qualifiedName": "Linear.ListTeams", - "fullyQualifiedName": "Linear.ListTeams@3.2.0", + "fullyQualifiedName": "Linear.ListTeams@3.2.1", "description": "List Linear teams, optionally filtered by keywords and other criteria.\n\nReturns all teams when no filters provided, or filtered results when\nkeywords or other filters are specified.", "parameters": [ { @@ -2370,7 +2471,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2383,17 +2486,17 @@ "toolName": "Linear.ListTeams", "parameters": { "keywords": { - "value": "development", + "value": "backend api", "type": "string", "required": false }, "include_archived": { - "value": true, + "value": false, "type": "boolean", "required": false }, "created_after": { - "value": "2022-01-01", + "value": "2023-01-01", "type": "string", "required": false }, @@ -2403,7 +2506,7 @@ "required": false }, "end_cursor": { - "value": "cursor_value_123", + "value": "cursor_7f8a2b9c", "type": "string", "required": false } @@ -2416,7 +2519,7 @@ { "name": "ListWorkflowStates", "qualifiedName": "Linear.ListWorkflowStates", - "fullyQualifiedName": "Linear.ListWorkflowStates@3.2.0", + "fullyQualifiedName": "Linear.ListWorkflowStates@3.2.1", "description": "List available workflow states in the workspace.\n\nReturns workflow states that can be used for issue transitions.\nStates are team-specific and have different types.", "parameters": [ { @@ -2454,7 +2557,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -2467,17 +2572,17 @@ "toolName": "Linear.ListWorkflowStates", "parameters": { "team": { - "value": "development", + "value": "frontend", "type": "string", "required": false }, "state_type": { - "value": "in_progress", + "value": "started", "type": "string", "required": false }, "limit": { - "value": 20, + "value": 25, "type": "integer", "required": false } @@ -2490,7 +2595,7 @@ { "name": "ManageIssueSubscription", "qualifiedName": "Linear.ManageIssueSubscription", - "fullyQualifiedName": "Linear.ManageIssueSubscription@3.2.0", + "fullyQualifiedName": "Linear.ManageIssueSubscription@3.2.1", "description": "Subscribe to or unsubscribe from an issue's notifications.", "parameters": [ { @@ -2513,7 +2618,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["issues:create"] + "scopes": [ + "issues:create" + ] }, "secrets": [], "secretsInfo": [], @@ -2526,7 +2633,7 @@ "toolName": "Linear.ManageIssueSubscription", "parameters": { "issue": { - "value": "ISSUE-1234", + "value": "ISSUE-12345", "type": "string", "required": true }, @@ -2544,7 +2651,7 @@ { "name": "ReplyToComment", "qualifiedName": "Linear.ReplyToComment", - "fullyQualifiedName": "Linear.ReplyToComment@3.2.0", + "fullyQualifiedName": "Linear.ReplyToComment@3.2.1", "description": "Reply to an existing comment on an issue.\n\nCreates a threaded reply to the specified parent comment.", "parameters": [ { @@ -2575,7 +2682,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["comments:create"] + "scopes": [ + "comments:create" + ] }, "secrets": [], "secretsInfo": [], @@ -2588,17 +2697,17 @@ "toolName": "Linear.ReplyToComment", "parameters": { "issue": { - "value": "ISSUE-1234", + "value": "ISSUE-123", "type": "string", "required": true }, "parent_comment_id": { - "value": "COMMENT-5678", + "value": "cmt_987654321abcdef", "type": "string", "required": true }, "body": { - "value": "Thanks for your feedback! I appreciate your insights.", + "value": "Thanks for the report — I investigated and pushed a potential fix in commit `abc123def`. Could you confirm this resolves the issue on your end?\n\nWhat I changed:\n- Fixed null-check in src/api/handler.js\n- Added unit test to cover the failing case\n\nIf the problem persists, please attach the latest logs and reproduction steps.", "type": "string", "required": true } @@ -2611,7 +2720,7 @@ { "name": "ReplyToProjectComment", "qualifiedName": "Linear.ReplyToProjectComment", - "fullyQualifiedName": "Linear.ReplyToProjectComment@3.2.0", + "fullyQualifiedName": "Linear.ReplyToProjectComment@3.2.1", "description": "Reply to an existing comment on a project document.\n\nCreates a threaded reply to the specified parent comment.", "parameters": [ { @@ -2650,7 +2759,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["comments:create"] + "scopes": [ + "comments:create" + ] }, "secrets": [], "secretsInfo": [], @@ -2663,22 +2774,22 @@ "toolName": "Linear.ReplyToProjectComment", "parameters": { "project": { - "value": "project-123", + "value": "acme-product", "type": "string", "required": true }, "parent_comment_id": { - "value": "comment-456", + "value": "cmt_987654321", "type": "string", "required": true }, "body": { - "value": "Thanks for your feedback! Here's my response in Markdown: **bold text** and *italic text*.", + "value": "Thanks for the update — this looks great!\n\nI'll incorporate the suggested changes into the document:\n\n- Update API response schema\n- Add examples for edge cases\n\nI'll follow up once it's updated.", "type": "string", "required": true }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -2691,7 +2802,7 @@ { "name": "TransitionIssueState", "qualifiedName": "Linear.TransitionIssueState", - "fullyQualifiedName": "Linear.TransitionIssueState@3.2.0", + "fullyQualifiedName": "Linear.TransitionIssueState@3.2.1", "description": "Transition a Linear issue to a new workflow state.\n\nThe target state is validated against the team's available states.", "parameters": [ { @@ -2722,7 +2833,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -2745,7 +2858,7 @@ "required": true }, "auto_accept_matches": { - "value": false, + "value": true, "type": "boolean", "required": false } @@ -2758,7 +2871,7 @@ { "name": "UpdateComment", "qualifiedName": "Linear.UpdateComment", - "fullyQualifiedName": "Linear.UpdateComment@3.2.0", + "fullyQualifiedName": "Linear.UpdateComment@3.2.1", "description": "Update an existing comment.", "parameters": [ { @@ -2781,7 +2894,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -2794,12 +2909,12 @@ "toolName": "Linear.UpdateComment", "parameters": { "comment_id": { - "value": "abc123", + "value": "comment_abc123def456", "type": "string", "required": true }, "body": { - "value": "This is an updated comment with **Markdown** formatting.", + "value": "Updated the analysis to include the latest test results.\n\n- Fixed bug in parser\n- Added unit tests\n\nPlease review and let me know if any further changes are required.", "type": "string", "required": true } @@ -2812,7 +2927,7 @@ { "name": "UpdateInitiative", "qualifiedName": "Linear.UpdateInitiative", - "fullyQualifiedName": "Linear.UpdateInitiative@3.2.0", + "fullyQualifiedName": "Linear.UpdateInitiative@3.2.1", "description": "Update a Linear initiative with partial updates.\n\nOnly fields that are explicitly provided will be updated.", "parameters": [ { @@ -2866,7 +2981,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -2879,27 +2996,27 @@ "toolName": "Linear.UpdateInitiative", "parameters": { "initiative_id": { - "value": "abc123", + "value": "init_01F4Z8K2ABCD3EFG", "type": "string", "required": true }, "name": { - "value": "Revamp User Interface", + "value": "Improve onboarding flow", "type": "string", "required": false }, "description": { - "value": "### Major overhaul of the current UI\n- Improve accessibility\n- Modernize design", + "value": "### Goals\n- Shorten signup process\n- Add contextual tooltips and an interactive tutorial\n\nMigrate existing walkthroughs into the new modal-based experience.\n\nSee designs: [Figma](https://www.figma.com/file/example)", "type": "string", "required": false }, "status": { - "value": "In Progress", + "value": "in_progress", "type": "string", "required": false }, "target_date": { - "value": "2023-12-15", + "value": "2026-06-30", "type": "string", "required": false } @@ -2912,7 +3029,7 @@ { "name": "UpdateIssue", "qualifiedName": "Linear.UpdateIssue", - "fullyQualifiedName": "Linear.UpdateIssue@3.2.0", + "fullyQualifiedName": "Linear.UpdateIssue@3.2.1", "description": "Update a Linear issue with partial updates.\n\nOnly fields that are explicitly provided will be updated. All entity\nreferences are validated before update.", "parameters": [ { @@ -2970,7 +3087,13 @@ "type": "string", "required": false, "description": "New priority. Only updated if provided.", - "enum": ["none", "urgent", "high", "medium", "low"], + "enum": [ + "none", + "urgent", + "high", + "medium", + "low" + ], "inferrable": true }, { @@ -3041,7 +3164,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["issues:create"] + "scopes": [ + "issues:create" + ] }, "secrets": [], "secretsInfo": [], @@ -3059,12 +3184,12 @@ "required": true }, "title": { - "value": "Update API Documentation", + "value": "Update homepage hero layout", "type": "string", "required": false }, "description": { - "value": "Please ensure that all endpoints are documented thoroughly. **Markdown** formatting should be used.", + "value": "Redesign the homepage hero to improve conversion. Include responsive variants for mobile and tablet, and update copy to match new marketing guidelines.\n\nAcceptance criteria:\n- New hero implemented in header component\n- Responsive breakpoints covered\n- A/B test enabled\n- Copy reviewed by marketing", "type": "string", "required": false }, @@ -3074,32 +3199,37 @@ "required": false }, "labels_to_add": { - "value": ["documentation", "api"], + "value": [ + "frontend", + "ui-design" + ], "type": "array", "required": false }, "labels_to_remove": { - "value": ["needs review"], + "value": [ + "needs-feedback" + ], "type": "array", "required": false }, "priority": { - "value": "high", + "value": "High", "type": "string", "required": false }, "state": { - "value": "in progress", + "value": "In Progress", "type": "string", "required": false }, "project": { - "value": "API Docs", + "value": "website-redesign", "type": "string", "required": false }, "cycle": { - "value": "2023-Q4", + "value": "Sprint 12", "type": "string", "required": false }, @@ -3109,17 +3239,17 @@ "required": false }, "due_date": { - "value": "2023-12-01", + "value": "2026-03-01", "type": "string", "required": false }, "attachment_url": { - "value": "https://example.com/documents/api-overview.pdf", + "value": "https://example.com/assets/hero-concepts.png", "type": "string", "required": false }, "attachment_title": { - "value": "API Overview Document", + "value": "Hero concepts v2", "type": "string", "required": false }, @@ -3137,7 +3267,7 @@ { "name": "UpdateProject", "qualifiedName": "Linear.UpdateProject", - "fullyQualifiedName": "Linear.UpdateProject@3.2.0", + "fullyQualifiedName": "Linear.UpdateProject@3.2.1", "description": "Update a Linear project with partial updates.\n\nOnly fields that are explicitly provided will be updated. All entity\nreferences are validated before update.\n\nIMPORTANT: Updating the 'content' field will break any existing inline\ncomment anchoring. The comments will still exist and be retrievable via\nlist_project_comments, but they will no longer appear visually anchored\nto text in the Linear UI. The 'description' field can be safely updated\nwithout affecting inline comments.", "parameters": [ { @@ -3241,7 +3371,9 @@ "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["write"] + "scopes": [ + "write" + ] }, "secrets": [], "secretsInfo": [], @@ -3254,52 +3386,57 @@ "toolName": "Linear.UpdateProject", "parameters": { "project_id": { - "value": "proj-12345", + "value": "mobile-redesign", "type": "string", "required": true }, "name": { - "value": "New Project Name", + "value": "Mobile Redesign Q2", "type": "string", "required": false }, "description": { - "value": "This is a summary of the new project.", + "value": "Redesign the mobile app UI to improve onboarding flow and retention (max 255 chars).", "type": "string", "required": false }, "content": { - "value": "# Project Document\n\nThis is the content of the project document.", + "value": "# Mobile Redesign\n\nOverview:\n- Improve onboarding\n- Simplify navigation\n- Update visual language to match brand\n\nMilestones:\n1. Research and prototypes\n2. Implement new screens\n3. QA and rollout\n\nAcceptance criteria:\n- 10% improvement in 7-day retention\n- Onboarding completion rate > 80%", "type": "string", "required": false }, "state": { - "value": "active", + "value": "in_progress", "type": "string", "required": false }, "lead": { - "value": "lead@example.com", + "value": "alice@example.com", "type": "string", "required": false }, "start_date": { - "value": "2023-10-01", + "value": "2026-03-01", "type": "string", "required": false }, "target_date": { - "value": "2023-12-01", + "value": "2026-06-30", "type": "string", "required": false }, "teams_to_add": { - "value": ["team1", "team2"], + "value": [ + "mobile-team", + "design-team" + ], "type": "array", "required": false }, "teams_to_remove": { - "value": ["team3"], + "value": [ + "legacy-team" + ], "type": "array", "required": false }, @@ -3317,13 +3454,15 @@ { "name": "WhoAmI", "qualifiedName": "Linear.WhoAmI", - "fullyQualifiedName": "Linear.WhoAmI@3.2.0", + "fullyQualifiedName": "Linear.WhoAmI@3.2.1", "description": "Get the authenticated user's profile and team memberships.\n\nReturns the current user's information including their name, email,\norganization, and the teams they belong to.", "parameters": [], "auth": { "providerId": "linear", "providerType": "oauth2", - "scopes": ["read"] + "scopes": [ + "read" + ] }, "secrets": [], "secretsInfo": [], @@ -3341,17 +3480,9 @@ } } ], - "documentationChunks": [ - { - "type": "markdown", - "location": "custom_section", - "position": "after", - "header": "## Auth", - "content": "## Auth\n\nThe Arcade Linear MCP Server uses the [Linear auth provider](/references/auth-providers/linear) to connect to users' Linear accounts. Please refer to the [Linear auth provider](/references/auth-providers/linear) documentation to learn how to configure auth." - } - ], + "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:37:08.616Z", + "generatedAt": "2026-02-18T21:02:06.498Z", "summary": "The Linear MCP Server provides a comprehensive set of tools for interacting with Linear's issue tracking, project management, and team collaboration features. With this MCP Server, you can:\n\n- **Issues**: Create, update, search, and manage issues with full support for labels, priorities, assignments, and workflow states\n- **Projects**: Create and manage projects, track milestones, and post status updates\n- **Initiatives**: Manage high-level strategic goals and link projects to initiatives\n- **Teams**: Access team information and member details\n- **Cycles**: Work with time-boxed iterations (sprints) for organizing work\n- **Comments**: Add, update, and reply to comments on issues\n- **GitHub Integration**: Link GitHub PRs, commits, and issues to Linear issues\n- **User Context**: Access notifications, recent activity, and authenticated user information" -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/sharepoint.json b/toolkit-docs-generator/data/toolkits/sharepoint.json index 35c9c1569..93e2d76b1 100644 --- a/toolkit-docs-generator/data/toolkits/sharepoint.json +++ b/toolkit-docs-generator/data/toolkits/sharepoint.json @@ -1,7 +1,7 @@ { "id": "Sharepoint", "label": "Microsoft SharePoint", - "version": "0.4.1", + "version": "0.7.0", "description": "Arcade.dev LLM tools for Microsoft SharePoint", "metadata": { "category": "productivity", @@ -9,20 +9,763 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/productivity/sharepoint", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/sharepoint", "isComingSoon": false, "isHidden": false }, "auth": { "type": "oauth2", "providerId": "microsoft", - "allScopes": ["Sites.Read.All", "User.Read"] + "allScopes": [ + "Sites.Read.All", + "Sites.ReadWrite.All", + "User.Read" + ] }, "tools": [ + { + "name": "CopyItem", + "qualifiedName": "Sharepoint.CopyItem", + "fullyQualifiedName": "Sharepoint.CopyItem@0.7.0", + "description": "Copy a file or folder. Returns a completed item or an operation id.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the item lives.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the item to copy.", + "enum": null, + "inferrable": true + }, + { + "name": "destination_folder_id", + "type": "string", + "required": false, + "description": "Optional destination folder ID. If omitted, the item is copied to the same folder.", + "enum": null, + "inferrable": true + }, + { + "name": "new_name", + "type": "string", + "required": false, + "description": "Optional new name for the copied item.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Copy status and result." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CopyItem", + "parameters": { + "drive_id": { + "value": "b!a1B2c3D4e5F6g7H8", + "type": "string", + "required": true + }, + "item_id": { + "value": "01ABCDEF23456789!345", + "type": "string", + "required": true + }, + "destination_folder_id": { + "value": "0123456789abcdef!678", + "type": "string", + "required": false + }, + "new_name": { + "value": "Quarterly_Report_Copy.xlsx", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateFolder", + "qualifiedName": "Sharepoint.CreateFolder", + "fullyQualifiedName": "Sharepoint.CreateFolder@0.7.0", + "description": "Create a new folder in a SharePoint drive.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the folder will be created.", + "enum": null, + "inferrable": true + }, + { + "name": "folder_name", + "type": "string", + "required": true, + "description": "The name of the new folder.", + "enum": null, + "inferrable": true + }, + { + "name": "parent_folder_id", + "type": "string", + "required": false, + "description": "Optional parent folder ID. If omitted, creates in the drive root.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The created folder metadata." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateFolder", + "parameters": { + "drive_id": { + "value": "b1a4f6e2-3c5d-4f7a-9b8c-1d2e3f4a5b6c", + "type": "string", + "required": true + }, + "folder_name": { + "value": "Project Documents", + "type": "string", + "required": true + }, + "parent_folder_id": { + "value": "d4c3b2a1-9f8e-4d3c-b2a1-0f9e8d7c6b5a", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreatePresentation", + "qualifiedName": "Sharepoint.CreatePresentation", + "fullyQualifiedName": "Sharepoint.CreatePresentation@0.7.0", + "description": "Create a new PowerPoint presentation in a SharePoint drive.\n\nThe presentation will be created with a title slide containing the specified title.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive to create the presentation in.", + "enum": null, + "inferrable": true + }, + { + "name": "title", + "type": "string", + "required": true, + "description": "The title for the new presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "folder_id", + "type": "string", + "required": false, + "description": "The ID of the folder to create the presentation in. If not provided, the presentation will be created in the root of the drive.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The created presentation details." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreatePresentation", + "parameters": { + "drive_id": { + "value": "b!a1B2c3D4e5F6g7H8i9J0K", + "type": "string", + "required": true + }, + "title": { + "value": "Q3 2026 Marketing Strategy", + "type": "string", + "required": true + }, + "folder_id": { + "value": "01AB2C3D4E5F6G7H8I9J0", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateShareLink", + "qualifiedName": "Sharepoint.CreateShareLink", + "fullyQualifiedName": "Sharepoint.CreateShareLink@0.7.0", + "description": "Create a share link for a SharePoint drive item.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the item lives.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the file or folder to share.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Sharing link information." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateShareLink", + "parameters": { + "drive_id": { + "value": "b!f3a1e2b-4c6d-7f8e-9012-3456789abcde", + "type": "string", + "required": true + }, + "item_id": { + "value": "01a2b3c4-5d6e-7f8g-901h-234567ijklmn", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateSlide", + "qualifiedName": "Sharepoint.CreateSlide", + "fullyQualifiedName": "Sharepoint.CreateSlide@0.7.0", + "description": "Append a new slide to the end of an existing PowerPoint presentation in a SharePoint drive.\n\nThe slide will be added at the end of the presentation. Both title and body\nare optional to support layouts like BLANK or TITLE_ONLY.\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the PowerPoint presentation to add a slide to.", + "enum": null, + "inferrable": true + }, + { + "name": "slide_title", + "type": "string", + "required": false, + "description": "The title for the new slide. Optional for layouts like BLANK.", + "enum": null, + "inferrable": true + }, + { + "name": "slide_body", + "type": "string", + "required": false, + "description": "The body content for the new slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting). Optional for layouts like TITLE_ONLY or BLANK.", + "enum": null, + "inferrable": true + }, + { + "name": "layout", + "type": "string", + "required": false, + "description": "The layout to use for the slide. For TWO_CONTENT layout, use create_two_content_slide.", + "enum": [ + "TITLE", + "TITLE_AND_CONTENT", + "SECTION_HEADER", + "TITLE_ONLY", + "BLANK", + "CONTENT_WITH_CAPTION", + "PICTURE_WITH_CAPTION", + "TITLE_AND_VERTICAL_TEXT", + "VERTICAL_TITLE_AND_TEXT" + ], + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The updated presentation details with new slide info." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateSlide", + "parameters": { + "drive_id": { + "value": "b1a2c3d4-e5f6-7890-ab12-345cdef67890", + "type": "string", + "required": true + }, + "item_id": { + "value": "f9e8d7c6-b5a4-3210-9fed-cba987654321", + "type": "string", + "required": true + }, + "slide_title": { + "value": "Q4 Business Review", + "type": "string", + "required": false + }, + "slide_body": { + "value": "**Highlights**\n\n- Revenue increased by **15%**\n - North America: *8%*\n - Europe: *5%*\n- Key initiatives:\n - __Product Launch__\n - Marketing Campaign\n\n- Next steps:\n - Finalize roadmap\n - Allocate budget", + "type": "string", + "required": false + }, + "layout": { + "value": "TITLE_AND_BODY", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateTwoContentSlide", + "qualifiedName": "Sharepoint.CreateTwoContentSlide", + "fullyQualifiedName": "Sharepoint.CreateTwoContentSlide@0.7.0", + "description": "Append a TWO_CONTENT slide with side-by-side content areas to the end of a SharePoint PowerPoint.\n\nThis layout is useful for comparisons, pros/cons lists, or any content that\nbenefits from a two-column layout.\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the PowerPoint presentation to add a slide to.", + "enum": null, + "inferrable": true + }, + { + "name": "slide_title", + "type": "string", + "required": false, + "description": "The title for the new slide.", + "enum": null, + "inferrable": true + }, + { + "name": "left_body", + "type": "string", + "required": false, + "description": "Content for the left side of the slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting).", + "enum": null, + "inferrable": true + }, + { + "name": "right_body", + "type": "string", + "required": false, + "description": "Content for the right side of the slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting).", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The updated presentation details with new slide info." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateTwoContentSlide", + "parameters": { + "drive_id": { + "value": "b!g4h5i6j7k8l9m0n", + "type": "string", + "required": true + }, + "item_id": { + "value": "f47ac10b-58cc-4372-a567-0e02b2c3d479", + "type": "string", + "required": true + }, + "slide_title": { + "value": "Two-Option Comparison", + "type": "string", + "required": false + }, + "left_body": { + "value": "**Pros**\n- **Cost-effective**: Lower ongoing expenses\n- *Easy to implement*\n- __Scalable__\n - Supports regional scaling\n - Automated provisioning\n- Summary: Good for short-term deployments", + "type": "string", + "required": false + }, + "right_body": { + "value": "**Cons**\n- Higher initial investment\n- *Longer ramp-up time*\n- __Vendor lock-in__\n - Integration complexity\n - Migration effort\n- Risk mitigation:\n - Start with a pilot\n - Define exit strategy\n\nConclusion: Choose based on timeline and budget.", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateWordDocument", + "qualifiedName": "Sharepoint.CreateWordDocument", + "fullyQualifiedName": "Sharepoint.CreateWordDocument@0.7.0", + "description": "Create a new Word document in a SharePoint drive (4MB upload limit). Optionally include text content.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive to create the document in.", + "enum": null, + "inferrable": true + }, + { + "name": "title", + "type": "string", + "required": true, + "description": "File name without extension, or with .docx. The .docx extension is normalized.", + "enum": null, + "inferrable": true + }, + { + "name": "text_content", + "type": "string", + "required": false, + "description": "Optional text content to include in the new document. If omitted, an empty document is created.", + "enum": null, + "inferrable": true + }, + { + "name": "folder_id", + "type": "string", + "required": false, + "description": "Optional parent folder DriveItem ID. If omitted, the document is created in the root.", + "enum": null, + "inferrable": true + }, + { + "name": "conflict_behavior", + "type": "string", + "required": false, + "description": "Optional conflict behavior when a file with the same name exists. One of: fail, rename, replace.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The created Word document metadata." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.CreateWordDocument", + "parameters": { + "drive_id": { + "value": "b!XyZ12345AaBbCcDdEeF", + "type": "string", + "required": true + }, + "title": { + "value": "Project Plan.docx", + "type": "string", + "required": true + }, + "text_content": { + "value": "Project Plan\n\nGoals:\n- Define scope\n- Assign owners\n- Timeline: Q2\n\nThis document was created via API.", + "type": "string", + "required": false + }, + "folder_id": { + "value": "01T2ABCDEFghiJKLmnOPqrsTUvwxYZ", + "type": "string", + "required": false + }, + "conflict_behavior": { + "value": "rename", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteItem", + "qualifiedName": "Sharepoint.DeleteItem", + "fullyQualifiedName": "Sharepoint.DeleteItem@0.7.0", + "description": "Delete a file or folder from a SharePoint drive.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the item lives.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the file or folder to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Deletion confirmation." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.DeleteItem", + "parameters": { + "drive_id": { + "value": "b!0123456789abcdef", + "type": "string", + "required": true + }, + "item_id": { + "value": "0123456789abcdef!123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetAllSlideNotes", + "qualifiedName": "Sharepoint.GetAllSlideNotes", + "fullyQualifiedName": "Sharepoint.GetAllSlideNotes@0.7.0", + "description": "Get all speaker notes from every slide in a SharePoint PowerPoint presentation.\n\nReturns notes for all slides in one call, which is more efficient than\ncalling get_slide_notes for each slide individually. Notes are returned\nin markdown format.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the PowerPoint presentation.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "All speaker notes from the presentation." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetAllSlideNotes", + "parameters": { + "drive_id": { + "value": "b!a1b2c3d4e5f6g7h8i9j0", + "type": "string", + "required": true + }, + "item_id": { + "value": "01ab23cd-45ef-6789-0abc-def123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCopyStatus", + "qualifiedName": "Sharepoint.GetCopyStatus", + "fullyQualifiedName": "Sharepoint.GetCopyStatus@0.7.0", + "description": "Check status of an async copy operation using the full monitor URL.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the copy operation runs.", + "enum": null, + "inferrable": true + }, + { + "name": "operation_url", + "type": "string", + "required": true, + "description": "The full monitor URL returned by copy_item (Location/Operation-Location header). DO NOT PROVIDE ONLY THE OPERATION ID, BUT THE FULL URL.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Copy operation status." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetCopyStatus", + "parameters": { + "drive_id": { + "value": "b!a1B2c3D4e5F6g7H8i9J0kLmNoPqRsTu", + "type": "string", + "required": true + }, + "operation_url": { + "value": "https://graph.microsoft.com/v1.0/drives/b!a1B2c3D4e5F6g7H8i9J0kLmNoPqRsTu/items/01ABCD2345EFGH6789/operations/3f5e2a7b-9cde-4f12-8a34-6b7c9d0e1f2a", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, { "name": "GetDrivesFromSite", "qualifiedName": "Sharepoint.GetDrivesFromSite", - "fullyQualifiedName": "Sharepoint.GetDrivesFromSite@0.4.1", + "fullyQualifiedName": "Sharepoint.GetDrivesFromSite@0.7.0", "description": "Retrieve drives / document libraries from a SharePoint site.\n\nIf you have a site name, it is not necessary to call Sharepoint.SearchSites first. You can simply\ncall this tool with the site name / keywords.", "parameters": [ { @@ -37,22 +780,192 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The drives from the SharePoint site." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetDrivesFromSite", + "parameters": { + "site": { + "value": "https://contoso.sharepoint.com/sites/Marketing", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetItemsFromList", + "qualifiedName": "Sharepoint.GetItemsFromList", + "fullyQualifiedName": "Sharepoint.GetItemsFromList@0.7.0", + "description": "Retrieve items from a list in a SharePoint site.\n\nNote: The Microsoft Graph API does not offer endpoints to retrieve list item attachments.\nBecause of that, the only information we can get is whether the item has attachments or not.", + "parameters": [ + { + "name": "site", + "type": "string", + "required": true, + "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", + "enum": null, + "inferrable": true + }, + { + "name": "list_id", + "type": "string", + "required": true, + "description": "The ID of the list to get items from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The SharePoint list items." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetItemsFromList", + "parameters": { + "site": { + "value": "site-id-12345", + "type": "string", + "required": true + }, + "list_id": { + "value": "list-id-67890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetListsFromSite", + "qualifiedName": "Sharepoint.GetListsFromSite", + "fullyQualifiedName": "Sharepoint.GetListsFromSite@0.7.0", + "description": "Retrieve lists from a SharePoint site.", + "parameters": [ + { + "name": "site", + "type": "string", + "required": true, + "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The SharePoint site lists." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetListsFromSite", + "parameters": { + "site": { + "value": "https://contoso.sharepoint.com/sites/Marketing", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPage", + "qualifiedName": "Sharepoint.GetPage", + "fullyQualifiedName": "Sharepoint.GetPage@0.7.0", + "description": "Retrieve metadata and the contents of a page in a SharePoint site.\n\nPage content is a list of Microsoft Sharepoint web part objects, such as text, images, banners,\nbuttons, etc.\n\nIf `include_page_content` is set to False, the tool will return only the page metadata.", + "parameters": [ + { + "name": "site", + "type": "string", + "required": true, + "description": "Site ID, SharePoint URL, or site name to retrieve base pages from. Prefer using a site ID whenever available for optimal performance", + "enum": null, + "inferrable": true + }, + { + "name": "page_id", + "type": "string", + "required": true, + "description": "The ID of the page to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "include_page_content", + "type": "boolean", + "required": false, + "description": "Whether to include the page content in the response. Defaults to True. If set to False, the tool will return only the page metadata.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The drives from the SharePoint site." + "description": "The page from the SharePoint site." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetDrivesFromSite", + "toolName": "Sharepoint.GetPage", "parameters": { "site": { - "value": "https://contoso.sharepoint.com/sites/Marketing", + "value": "site-12345", + "type": "string", + "required": true + }, + "page_id": { + "value": "page-67890", "type": "string", "required": true + }, + "include_page_content": { + "value": true, + "type": "boolean", + "required": false } }, "requiresAuth": true, @@ -61,24 +974,24 @@ } }, { - "name": "GetItemsFromList", - "qualifiedName": "Sharepoint.GetItemsFromList", - "fullyQualifiedName": "Sharepoint.GetItemsFromList@0.4.1", - "description": "Retrieve items from a list in a SharePoint site.\n\nNote: The Microsoft Graph API does not offer endpoints to retrieve list item attachments.\nBecause of that, the only information we can get is whether the item has attachments or not.", + "name": "GetPresentationAsMarkdown", + "qualifiedName": "Sharepoint.GetPresentationAsMarkdown", + "fullyQualifiedName": "Sharepoint.GetPresentationAsMarkdown@0.7.0", + "description": "Get the content of a PowerPoint presentation stored in a SharePoint drive as markdown.\n\nThis tool downloads the presentation and converts it to a markdown representation,\npreserving text content, tables, and chart data. Images and other media are\nrepresented as placeholders.", "parameters": [ { - "name": "site", + "name": "drive_id", "type": "string", "required": true, - "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", + "description": "The ID of the SharePoint drive containing the presentation.", "enum": null, "inferrable": true }, { - "name": "list_id", + "name": "item_id", "type": "string", "required": true, - "description": "The ID of the list to get items from.", + "description": "The ID of the PowerPoint presentation to read.", "enum": null, "inferrable": true } @@ -86,25 +999,27 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The SharePoint list items." + "description": "The presentation content as markdown." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetItemsFromList", + "toolName": "Sharepoint.GetPresentationAsMarkdown", "parameters": { - "site": { - "value": "site-id-12345", + "drive_id": { + "value": "b!4f8e2c7a9d6b1e3f", "type": "string", "required": true }, - "list_id": { - "value": "list-id-67890", + "item_id": { + "value": "01A234BC-567D-89EF-01AB-234CDE567890", "type": "string", "required": true } @@ -115,16 +1030,16 @@ } }, { - "name": "GetListsFromSite", - "qualifiedName": "Sharepoint.GetListsFromSite", - "fullyQualifiedName": "Sharepoint.GetListsFromSite@0.4.1", - "description": "Retrieve lists from a SharePoint site.", + "name": "GetSite", + "qualifiedName": "Sharepoint.GetSite", + "fullyQualifiedName": "Sharepoint.GetSite@0.7.0", + "description": "Retrieve information about a specific SharePoint site by its ID, URL, or name.", "parameters": [ { "name": "site", "type": "string", "required": true, - "description": "Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.", + "description": "Site ID, SharePoint URL, or site name to search for.", "enum": null, "inferrable": true } @@ -132,20 +1047,22 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The SharePoint site lists." + "description": "The SharePoint site information." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetListsFromSite", + "toolName": "Sharepoint.GetSite", "parameters": { "site": { - "value": "https://contoso.sharepoint.com/sites/Marketing", + "value": "https://example.sharepoint.com/sites/ProjectX", "type": "string", "required": true } @@ -156,32 +1073,101 @@ } }, { - "name": "GetPage", - "qualifiedName": "Sharepoint.GetPage", - "fullyQualifiedName": "Sharepoint.GetPage@0.4.1", - "description": "Retrieve metadata and the contents of a page in a SharePoint site.\n\nPage content is a list of Microsoft Sharepoint web part objects, such as text, images, banners,\nbuttons, etc.\n\nIf `include_page_content` is set to False, the tool will return only the page metadata.", + "name": "GetSlideNotes", + "qualifiedName": "Sharepoint.GetSlideNotes", + "fullyQualifiedName": "Sharepoint.GetSlideNotes@0.7.0", + "description": "Get the speaker notes from a specific slide in a SharePoint PowerPoint presentation.\n\nSpeaker notes are returned in markdown format, preserving basic formatting\nlike bold, italic, and bullet points.", "parameters": [ { - "name": "site", + "name": "drive_id", "type": "string", "required": true, - "description": "Site ID, SharePoint URL, or site name to retrieve base pages from. Prefer using a site ID whenever available for optimal performance", + "description": "The ID of the SharePoint drive containing the presentation.", "enum": null, "inferrable": true }, { - "name": "page_id", + "name": "item_id", "type": "string", "required": true, - "description": "The ID of the page to retrieve.", + "description": "The ID of the PowerPoint presentation.", "enum": null, "inferrable": true }, { - "name": "include_page_content", + "name": "slide_index", + "type": "integer", + "required": true, + "description": "The 1-based index of the slide to get notes from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.Read.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The speaker notes for the specified slide." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.GetSlideNotes", + "parameters": { + "drive_id": { + "value": "b!a1B2c3D4e5F6g7H8i9J0kLmN", + "type": "string", + "required": true + }, + "item_id": { + "value": "01234567-89ab-cdef-0123-456789abcdef", + "type": "string", + "required": true + }, + "slide_index": { + "value": 3, + "type": "integer", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetWordDocument", + "qualifiedName": "Sharepoint.GetWordDocument", + "fullyQualifiedName": "Sharepoint.GetWordDocument@0.7.0", + "description": "Get a Word document's metadata and content from a SharePoint drive (supports only `.docx`). Returns the document content as Markdown by default, or just metadata when metadata_only is True.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the document.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The DriveItem ID of the Word document.", + "enum": null, + "inferrable": true + }, + { + "name": "metadata_only", "type": "boolean", "required": false, - "description": "Whether to include the page content in the response. Defaults to True. If set to False, the tool will return only the page metadata.", + "description": "If True, return only the document metadata without downloading the content. Defaults to False.", "enum": null, "inferrable": true } @@ -189,30 +1175,32 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The page from the SharePoint site." + "description": "The Word document metadata and optionally its content." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetPage", + "toolName": "Sharepoint.GetWordDocument", "parameters": { - "site": { - "value": "site-12345", + "drive_id": { + "value": "b!a1B2c3D4e5F6G7H8I9J0K", "type": "string", "required": true }, - "page_id": { - "value": "page-67890", + "item_id": { + "value": "01a234bc-56de-78f9-0abc-123def456789", "type": "string", "required": true }, - "include_page_content": { - "value": true, + "metadata_only": { + "value": false, "type": "boolean", "required": false } @@ -223,16 +1211,32 @@ } }, { - "name": "GetSite", - "qualifiedName": "Sharepoint.GetSite", - "fullyQualifiedName": "Sharepoint.GetSite@0.4.1", - "description": "Retrieve information about a specific SharePoint site by its ID, URL, or name.", + "name": "InsertTextAtEndOfWordDocument", + "qualifiedName": "Sharepoint.InsertTextAtEndOfWordDocument", + "fullyQualifiedName": "Sharepoint.InsertTextAtEndOfWordDocument@0.7.0", + "description": "Append text to the end of an existing Word document.\n\nThis tool only supports files with the `.docx` extension and enforces the 4MB limit.", "parameters": [ { - "name": "site", + "name": "drive_id", "type": "string", "required": true, - "description": "Site ID, SharePoint URL, or site name to search for.", + "description": "The ID of the SharePoint drive containing the document.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The DriveItem ID of the Word document.", + "enum": null, + "inferrable": true + }, + { + "name": "text_content", + "type": "string", + "required": true, + "description": "The text content to append to the document.", "enum": null, "inferrable": true } @@ -240,20 +1244,32 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.ReadWrite.All" + ] }, "secrets": [], "secretsInfo": [], "output": { "type": "json", - "description": "The SharePoint site information." + "description": "The updated Word document metadata." }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetSite", + "toolName": "Sharepoint.InsertTextAtEndOfWordDocument", "parameters": { - "site": { - "value": "https://example.sharepoint.com/sites/ProjectX", + "drive_id": { + "value": "b!f3a9d2e-4c1b-4f8a-9d2b-7c6e5f4a3b2c", + "type": "string", + "required": true + }, + "item_id": { + "value": "01XYZABCDEF1234567890", + "type": "string", + "required": true + }, + "text_content": { + "value": "Append: This is the appended text. Please review the latest changes and confirm by EOD.\n- Summary: updated figures\n- Action: approve or provide feedback\nRegards,\nTeam", "type": "string", "required": true } @@ -266,7 +1282,7 @@ { "name": "ListItemsInFolder", "qualifiedName": "Sharepoint.ListItemsInFolder", - "fullyQualifiedName": "Sharepoint.ListItemsInFolder@0.4.1", + "fullyQualifiedName": "Sharepoint.ListItemsInFolder@0.7.0", "description": "Retrieve items from a folder in a drive in a SharePoint site.\n\nNote: Due to how the Microsoft Graph API is designed, we have to retrieve all items, including the ones\nskipped by offset. For this reason, the tool execution time tends to increase with the offset value.", "parameters": [ { @@ -305,7 +1321,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -346,7 +1364,7 @@ { "name": "ListPages", "qualifiedName": "Sharepoint.ListPages", - "fullyQualifiedName": "Sharepoint.ListPages@0.4.1", + "fullyQualifiedName": "Sharepoint.ListPages@0.7.0", "description": "Retrieve pages from a SharePoint site.\n\nThe Microsoft Graph API does not support pagination on this endpoint.", "parameters": [ { @@ -369,7 +1387,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -400,7 +1420,7 @@ { "name": "ListRootItemsInDrive", "qualifiedName": "Sharepoint.ListRootItemsInDrive", - "fullyQualifiedName": "Sharepoint.ListRootItemsInDrive@0.4.1", + "fullyQualifiedName": "Sharepoint.ListRootItemsInDrive@0.7.0", "description": "Retrieve items from the root of a drive in a SharePoint site.\n\nNote: Due to how the Microsoft Graph API is designed, we have to retrieve all items, including the ones\nskipped by offset. For this reason, the tool execution time tends to increase with the offset value.", "parameters": [ { @@ -431,7 +1451,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -467,7 +1489,7 @@ { "name": "ListSites", "qualifiedName": "Sharepoint.ListSites", - "fullyQualifiedName": "Sharepoint.ListSites@0.4.1", + "fullyQualifiedName": "Sharepoint.ListSites@0.7.0", "description": "List all SharePoint sites accessible to the current user.", "parameters": [ { @@ -490,7 +1512,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -518,10 +1542,79 @@ "tabLabel": "Call the Tool with User Authorization" } }, + { + "name": "MoveItem", + "qualifiedName": "Sharepoint.MoveItem", + "fullyQualifiedName": "Sharepoint.MoveItem@0.7.0", + "description": "Move a file or folder to a new location in a SharePoint drive.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the drive where the item lives.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the item to move.", + "enum": null, + "inferrable": true + }, + { + "name": "new_parent_id", + "type": "string", + "required": true, + "description": "The ID of the destination folder.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The updated item metadata." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.MoveItem", + "parameters": { + "drive_id": { + "value": "b!a1b2c3d4e5f6g7h8i9j0k", + "type": "string", + "required": true + }, + "item_id": { + "value": "01ABCD2345EFGH6789!123", + "type": "string", + "required": true + }, + "new_parent_id": { + "value": "01ABCD2345EFGH6789!456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, { "name": "SearchDriveItems", "qualifiedName": "Sharepoint.SearchDriveItems", - "fullyQualifiedName": "Sharepoint.SearchDriveItems@0.4.1", + "fullyQualifiedName": "Sharepoint.SearchDriveItems@0.7.0", "description": "Search for items in one or more Sharepoint drives.\n\nNote: when searching within a single Drive and/or Folder, due to how the Microsoft Graph API is designed,\nwe have to retrieve all items, including the ones skipped by offset. For this reason, the tool execution\ntime tends to increase with the offset value.", "parameters": [ { @@ -568,7 +1661,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -614,7 +1709,7 @@ { "name": "SearchSites", "qualifiedName": "Sharepoint.SearchSites", - "fullyQualifiedName": "Sharepoint.SearchSites@0.4.1", + "fullyQualifiedName": "Sharepoint.SearchSites@0.7.0", "description": "Search for SharePoint sites by name or description.\n\nIn case you need to retrieve a specific site by its name, ID or SharePoint URL, use the\n`Sharepoint.GetSite` tool instead, passing the ID, name or SharePoint URL to it. If you use\nthe `Sharepoint.SearchSites` tool to retrieve a single site by its name, too much CO2 will be\nreleased in the atmosphere and you will contribute to catastrophic climate change.", "parameters": [ { @@ -645,7 +1740,9 @@ "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["Sites.Read.All"] + "scopes": [ + "Sites.Read.All" + ] }, "secrets": [], "secretsInfo": [], @@ -678,16 +1775,100 @@ "tabLabel": "Call the Tool with User Authorization" } }, + { + "name": "SetSlideNotes", + "qualifiedName": "Sharepoint.SetSlideNotes", + "fullyQualifiedName": "Sharepoint.SetSlideNotes@0.7.0", + "description": "Set or update the speaker notes on a specific slide in a SharePoint PowerPoint.\n\nNotes can be formatted using markdown:\n- **bold** for bold text\n- *italic* for italic text\n- __underline__ for underlined text\n- Lines starting with - or * become bullet points\n- Indent with spaces for nested bullets\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", + "parameters": [ + { + "name": "drive_id", + "type": "string", + "required": true, + "description": "The ID of the SharePoint drive containing the presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": true, + "description": "The ID of the PowerPoint presentation.", + "enum": null, + "inferrable": true + }, + { + "name": "slide_index", + "type": "integer", + "required": true, + "description": "The 1-based index of the slide to set notes on.", + "enum": null, + "inferrable": true + }, + { + "name": "notes", + "type": "string", + "required": true, + "description": "The speaker notes in markdown format. Supports **bold**, *italic*, __underline__, and bullet points (- or *).", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "microsoft", + "providerType": "oauth2", + "scopes": [ + "Sites.ReadWrite.All" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Confirmation of the notes update." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Sharepoint.SetSlideNotes", + "parameters": { + "drive_id": { + "value": "b1a2c3d4-e5f6-7890-abcd-ef1234567890", + "type": "string", + "required": true + }, + "item_id": { + "value": "a9f8e7d6-c5b4-3210-0fed-cba987654321", + "type": "string", + "required": true + }, + "slide_index": { + "value": 3, + "type": "integer", + "required": true + }, + "notes": { + "value": "**Meeting Summary**\n\n*Reviewed Q1 results and action items.*\n\n__Key Decisions__\n- Approve budget increase\n- Launch pilot program\n - *Marketing* to prepare assets\n - *Product* to finalize specs\n\nNext steps:\n- Schedule follow-up meeting\n- Assign owners and deadlines\n\nPresented by: *Alex Johnson*", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "microsoft", + "tabLabel": "Call the Tool with User Authorization" + } + }, { "name": "WhoAmI", "qualifiedName": "Sharepoint.WhoAmI", - "fullyQualifiedName": "Sharepoint.WhoAmI@0.4.1", + "fullyQualifiedName": "Sharepoint.WhoAmI@0.7.0", "description": "Get information about the current user and their SharePoint environment.", "parameters": [], "auth": { "providerId": "microsoft", "providerType": "oauth2", - "scopes": ["User.Read"] + "scopes": [ + "User.Read" + ] }, "secrets": [], "secretsInfo": [], @@ -715,6 +1896,6 @@ ], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:41:02.555Z", - "summary": "Arcade.dev's SharePoint toolkit enables seamless integration with Microsoft SharePoint, enhancing productivity through advanced LLM tools. This toolkit provides developers with the capability to efficiently manage and retrieve information across various SharePoint resources.\n\n## Capabilities\n- Retrieve site, list, and drive information seamlessly.\n- Access and manage page content and associated metadata.\n- Execute specific searches for items within drives and sites.\n- Identify and list all accessible SharePoint sites for users.\n\n## OAuth\n**Provider:** Microsoft \n**Scopes:** Sites.Read.All, User.Read\n\n## Secrets\nNo secret types or names are required for this toolkit." -} + "generatedAt": "2026-02-18T21:01:53.510Z", + "summary": "Arcade's SharePoint toolkit provides LLM-driven access to Microsoft SharePoint via Microsoft Graph, enabling document, presentation, page, and site management directly from prompts. It supports automating content creation, retrieval, transformation and administrative actions for workflows and bots.\n\n**Capabilities**\n- Robust file and folder operations (create, move, copy, delete, sharing, and metadata management).\n- Create and edit Word and PowerPoint assets, append slides/notes, and export presentations or documents as Markdown.\n- Discover and retrieve site resources, drives, lists, pages, and search results with pagination/large-file handling.\n- Asynchronous operation monitoring and user/context queries to integrate workflows reliably.\n\n**OAuth**\nProvider: microsoft\nScopes: Sites.Read.All, Sites.ReadWrite.All, User.Read" +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/slack.json b/toolkit-docs-generator/data/toolkits/slack.json index d704c970b..bda7c89f1 100644 --- a/toolkit-docs-generator/data/toolkits/slack.json +++ b/toolkit-docs-generator/data/toolkits/slack.json @@ -1,7 +1,7 @@ { "id": "Slack", "label": "Slack", - "version": "2.0.0", + "version": "2.1.0", "description": "Arcade.dev LLM tools for Slack", "metadata": { "category": "social", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/social-communication/slack", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/social-communication/slack", "isComingSoon": false, "isHidden": false }, @@ -19,9 +19,11 @@ "allScopes": [ "channels:history", "channels:read", + "channels:write", "chat:write", "groups:history", "groups:read", + "groups:write", "im:history", "im:read", "im:write", @@ -35,7 +37,7 @@ { "name": "GetConversationMetadata", "qualifiedName": "Slack.GetConversationMetadata", - "fullyQualifiedName": "Slack.GetConversationMetadata@2.0.0", + "fullyQualifiedName": "Slack.GetConversationMetadata@2.1.0", "description": "Get metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation.\n\nUse this tool to retrieve metadata about a conversation with a conversation_id, a channel name,\nor by the user_id(s), username(s), and/or email(s) of the user(s) in the conversation.\n\nThis tool does not return the messages in a conversation. To get the messages, use the\n'Slack.GetMessages' tool instead.\n\nProvide exactly one of:\n- conversation_id; or\n- channel_name; or\n- any combination of user_ids, usernames, and/or emails.", "parameters": [ { @@ -105,27 +107,27 @@ "toolName": "Slack.GetConversationMetadata", "parameters": { "conversation_id": { - "value": "C1234567890", + "value": "C0123456789", "type": "string", "required": false }, "channel_name": { - "value": "general", + "value": null, "type": "string", "required": false }, "usernames": { - "value": ["john_doe", "jane_smith"], + "value": null, "type": "array", "required": false }, "emails": { - "value": ["john@example.com", "jane@example.com"], + "value": null, "type": "array", "required": false }, "user_ids": { - "value": ["U123456", "U098765"], + "value": null, "type": "array", "required": false } @@ -138,7 +140,7 @@ { "name": "GetMessages", "qualifiedName": "Slack.GetMessages", - "fullyQualifiedName": "Slack.GetMessages@2.0.0", + "fullyQualifiedName": "Slack.GetMessages@2.1.0", "description": "Get messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation.\n\nProvide exactly one of:\n- conversation_id; or\n- channel_name; or\n- any combination of user_ids, usernames, and/or emails.\n\nTo filter messages by an absolute datetime, use 'oldest_datetime' and/or 'latest_datetime'. If\nonly 'oldest_datetime' is provided, it will return messages from the oldest_datetime to the\ncurrent time. If only 'latest_datetime' is provided, it will return messages since the\nbeginning of the conversation to the latest_datetime.\n\nTo filter messages by a relative datetime (e.g. 3 days ago, 1 hour ago, etc.), use\n'oldest_relative' and/or 'latest_relative'. If only 'oldest_relative' is provided, it will\nreturn messages from the oldest_relative to the current time. If only 'latest_relative' is\nprovided, it will return messages from the current time to the latest_relative.\n\nDo not provide both 'oldest_datetime' and 'oldest_relative' or both 'latest_datetime' and\n'latest_relative'.\n\nLeave all arguments with the default None to get messages without date/time filtering", "parameters": [ { @@ -260,7 +262,7 @@ "toolName": "Slack.GetMessages", "parameters": { "conversation_id": { - "value": "C1234567890", + "value": "C04ABCD1234", "type": "string", "required": false }, @@ -285,22 +287,22 @@ "required": false }, "oldest_relative": { - "value": "01:00:00", + "value": null, "type": "string", "required": false }, "latest_relative": { - "value": "00:30:00", + "value": null, "type": "string", "required": false }, "oldest_datetime": { - "value": null, + "value": "2026-01-01 00:00:00", "type": "string", "required": false }, "latest_datetime": { - "value": null, + "value": "2026-01-07 23:59:59", "type": "string", "required": false }, @@ -310,7 +312,7 @@ "required": false }, "next_cursor": { - "value": null, + "value": "dXNlcjpVMDYxTkYxQmJkMTIzNDU2", "type": "string", "required": false } @@ -323,7 +325,7 @@ { "name": "GetUsersInConversation", "qualifiedName": "Slack.GetUsersInConversation", - "fullyQualifiedName": "Slack.GetUsersInConversation@2.0.0", + "fullyQualifiedName": "Slack.GetUsersInConversation@2.1.0", "description": "Get the users in a Slack conversation (Channel, DM/IM, or MPIM) by its ID or by channel name.\n\nProvide exactly one of conversation_id or channel_name. Prefer providing a conversation_id,\nwhen available, since the performance is better.", "parameters": [ { @@ -397,7 +399,7 @@ "required": false }, "next_cursor": { - "value": "abc123token", + "value": "eyJ2IjoiMSIsImsiOiJhYmNkIn0", "type": "string", "required": false } @@ -410,7 +412,7 @@ { "name": "GetUsersInfo", "qualifiedName": "Slack.GetUsersInfo", - "fullyQualifiedName": "Slack.GetUsersInfo@2.0.0", + "fullyQualifiedName": "Slack.GetUsersInfo@2.1.0", "description": "Get the information of one or more users in Slack by ID, username, and/or email.\n\nProvide any combination of user_ids, usernames, and/or emails. If you need to retrieve\ndata about multiple users, DO NOT CALL THE TOOL MULTIPLE TIMES. Instead, call it once\nwith all the user_ids, usernames, and/or emails. IF YOU CALL THIS TOOL MULTIPLE TIMES\nUNNECESSARILY, YOU WILL RELEASE MORE CO2 IN THE ATMOSPHERE AND CONTRIBUTE TO GLOBAL WARMING.\n\nIf you need to get metadata or messages of a conversation, use the\n`Slack.GetConversationMetadata` or `Slack.GetMessages` tool instead. These\ntools accept user_ids, usernames, and/or emails. Do not retrieve users' info first,\nas it is inefficient, releases more CO2 in the atmosphere, and contributes to climate change.", "parameters": [ { @@ -444,7 +446,10 @@ "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": ["users:read", "users:read.email"] + "scopes": [ + "users:read", + "users:read.email" + ] }, "secrets": [], "secretsInfo": [], @@ -457,17 +462,132 @@ "toolName": "Slack.GetUsersInfo", "parameters": { "user_ids": { - "value": ["U12345", "U67890"], + "value": [ + "U12345678", + "U23456789" + ], "type": "array", "required": false }, "usernames": { - "value": ["john_doe", "jane_smith"], + "value": [ + "alice", + "bob.smith" + ], "type": "array", "required": false }, "emails": { - "value": ["john@example.com", "jane@example.com"], + "value": [ + "alice@example.com", + "bob.smith@example.org" + ], + "type": "array", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "slack", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "InviteUsersToChannel", + "qualifiedName": "Slack.InviteUsersToChannel", + "fullyQualifiedName": "Slack.InviteUsersToChannel@2.1.0", + "description": "Invite users to a Slack channel or MPIM (multi-person direct message).\n\nThis tool invites specified users to join a Slack conversation. It works with:\n- Public channels\n- Private channels\n- MPIMs (multi-person direct messages / group DMs)\n\nYou can specify users by their user IDs, usernames, or email addresses.\n\nProvide exactly one of channel_id or channel_name, and at least one of user_ids, usernames,\nor emails.\n\nThe tool will resolve usernames and emails to user IDs before inviting them.\nUp to 100 users may be invited at once.", + "parameters": [ + { + "name": "channel_id", + "type": "string", + "required": false, + "description": "The ID of the Slack channel or MPIM (multi-person direct message) to invite users to. Provide exactly one of channel_id OR channel_name.", + "enum": null, + "inferrable": true + }, + { + "name": "channel_name", + "type": "string", + "required": false, + "description": "The name of the channel to invite users to. Prefer providing a channel_id when available for better performance. Note: MPIMs don't have names, so use channel_id for MPIMs.", + "enum": null, + "inferrable": true + }, + { + "name": "user_ids", + "type": "array", + "innerType": "string", + "required": false, + "description": "The Slack user IDs of the people to invite. Up to 100 users may be listed. Provide at least one of user_ids, usernames, or emails.", + "enum": null, + "inferrable": true + }, + { + "name": "usernames", + "type": "array", + "innerType": "string", + "required": false, + "description": "The Slack usernames of the people to invite. Prefer providing user_ids and/or emails when available for better performance.", + "enum": null, + "inferrable": true + }, + { + "name": "emails", + "type": "array", + "innerType": "string", + "required": false, + "description": "The email addresses of the people to invite.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "slack", + "providerType": "oauth2", + "scopes": [ + "channels:read", + "groups:read", + "channels:write", + "groups:write", + "users:read", + "users:read.email" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The response from inviting users to the conversation" + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Slack.InviteUsersToChannel", + "parameters": { + "channel_id": { + "value": "C1234567890", + "type": "string", + "required": false + }, + "channel_name": { + "value": null, + "type": "string", + "required": false + }, + "user_ids": { + "value": [ + "U2345678901", + "U3456789012" + ], + "type": "array", + "required": false + }, + "usernames": { + "value": null, + "type": "array", + "required": false + }, + "emails": { + "value": null, "type": "array", "required": false } @@ -480,7 +600,7 @@ { "name": "ListConversations", "qualifiedName": "Slack.ListConversations", - "fullyQualifiedName": "Slack.ListConversations@2.0.0", + "fullyQualifiedName": "Slack.ListConversations@2.1.0", "description": "List metadata for Slack conversations (channels, DMs, MPIMs) the user is a member of.\n\nThis tool does not return the messages in a conversation. To get the messages, use the\n'Slack.GetMessages' tool instead. Calling this tool when the user is asking for messages\nwill release too much CO2 in the atmosphere and contribute to global warming.", "parameters": [ { @@ -517,7 +637,12 @@ "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": ["channels:read", "groups:read", "im:read", "mpim:read"] + "scopes": [ + "channels:read", + "groups:read", + "im:read", + "mpim:read" + ] }, "secrets": [], "secretsInfo": [], @@ -530,7 +655,12 @@ "toolName": "Slack.ListConversations", "parameters": { "conversation_types": { - "value": ["channel", "im"], + "value": [ + "public_channel", + "private_channel", + "im", + "mpim" + ], "type": "array", "required": false }, @@ -540,7 +670,7 @@ "required": false }, "next_cursor": { - "value": "dXNlcl9mNTc3ZGQ1YjBlZDdmYzViZTA1NGUx", + "value": "dXNlcjpVMTIzNDU2Nzg5abcdefghijklmnop", "type": "string", "required": false } @@ -553,7 +683,7 @@ { "name": "ListUsers", "qualifiedName": "Slack.ListUsers", - "fullyQualifiedName": "Slack.ListUsers@2.0.0", + "fullyQualifiedName": "Slack.ListUsers@2.1.0", "description": "List all users in the authenticated user's Slack team.\n\nIf you need to get metadata or messages of a conversation, use the\n`Slack.GetConversationMetadata` tool or `Slack.GetMessages` tool instead. These\ntools accept a user_id, username, and/or email. Do not use this tool to first retrieve user(s),\nas it is inefficient and releases more CO2 in the atmosphere, contributing to climate change.", "parameters": [ { @@ -584,7 +714,10 @@ "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": ["users:read", "users:read.email"] + "scopes": [ + "users:read", + "users:read.email" + ] }, "secrets": [], "secretsInfo": [], @@ -602,12 +735,12 @@ "required": false }, "limit": { - "value": 100, + "value": 200, "type": "integer", "required": false }, "next_cursor": { - "value": "abc123", + "value": "dXNlcjpVMDYxR1pFWT0=", "type": "string", "required": false } @@ -620,7 +753,7 @@ { "name": "SendMessage", "qualifiedName": "Slack.SendMessage", - "fullyQualifiedName": "Slack.SendMessage@2.0.0", + "fullyQualifiedName": "Slack.SendMessage@2.1.0", "description": "Send a message to a Channel, Direct Message (IM/DM), or Multi-Person (MPIM) conversation\n\nProvide exactly one of:\n- channel_name; or\n- conversation_id; or\n- any combination of user_ids, usernames, and/or emails.\n\nIn case multiple user_ids, usernames, and/or emails are provided, the tool will open a\nmulti-person conversation with the specified people and send the message to it.", "parameters": [ { @@ -700,22 +833,22 @@ "toolName": "Slack.SendMessage", "parameters": { "message": { - "value": "Hello team, please check the latest updates!", + "value": "Deployment complete: version 2.3.1 is live. Please verify services and report any issues.", "type": "string", "required": true }, "channel_name": { - "value": "general", + "value": null, "type": "string", "required": false }, "conversation_id": { - "value": null, + "value": "C1234567890", "type": "string", "required": false }, "user_ids": { - "value": ["U12345678", "U87654321"], + "value": null, "type": "array", "required": false }, @@ -738,13 +871,16 @@ { "name": "WhoAmI", "qualifiedName": "Slack.WhoAmI", - "fullyQualifiedName": "Slack.WhoAmI@2.0.0", + "fullyQualifiedName": "Slack.WhoAmI@2.1.0", "description": "Get comprehensive user profile and Slack information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, and other important profile details from\nSlack services.", "parameters": [], "auth": { "providerId": "slack", "providerType": "oauth2", - "scopes": ["users:read", "users:read.email"] + "scopes": [ + "users:read", + "users:read.email" + ] }, "secrets": [], "secretsInfo": [], @@ -764,18 +900,7 @@ ], "documentationChunks": [], "customImports": [], - "subPages": [ - { - "type": "install", - "content": "# Arcade for Slack\n\nimport { Steps, Callout } from \"nextra/components\";\nimport { SignupLink } from \"@/app/_components/analytics\";\nimport { SlackAuthLink } from \"./slack-auth-link\";\n\n## Integrate Arcade with your Slack workspace\n\nArcade securely connects your AI agents to APIs, data, code, and other systems via Tools. Our integration for Slack allows Arcade's tools to connect to your Slack workspace, helping your team work more efficiently.\n\nYou can leverage this app in Arcade's Playground when you log in to the Arcade Dashboard, or in your own applications.\n\nWhile the Arcade app for Slack does not directly expose a Large Language Model (LLM) to you, you will likely use Arcade's tools in conjunction with an LLM. When using LLMs, there's always potential to generate inaccurate responses, summaries, or other output.\n\nArcade's sample app for Slack brings Arcade's powerful AI tool-calling capabilities to your team's everyday conversations. The Arcade app for Slack can:\n\n- Send messages to your Slack channels and direct messages on your behalf\n- Find information in your Slack channels and direct messages\n- Generate content, summaries, and responses for messages you receive\n- and more!\n\nFor more details on what tools are available and what scopes they require, see the [Slack MCP Server documentation](/resources/integrations/social-communication/slack).\n\n\n The Arcade app for Slack requires an active Arcade account. If you don't have\n one yet,{\" \"}\n \n sign up for free\n \n .\n\n\n## How it works\n\n\n### Install the Arcade app for Slack\nClick the \"Add to Slack\" button below to install Arcade in your workspace.\n\n\n\n\n You'll need to be a workspace admin or have permission to install apps to add\n Arcade to your Slack workspace.\n\n\n### Invite Arcade to your channels\n\nInvite Arcade to any channel or direct message by typing `/invite @Arcade` to allow it to read and interact with content in that channel.\n\n### Start using Arcade's Slack tools\n\nUse Arcade's [tools for Slack](/resources/integrations/social-communication/slack) to:\n\n- Send messages to channels and DMs\n- Find information in conversations\n- Generate summaries of discussions\n\nTry leveraging the Arcade tools for Slack in the Arcade Playground by [chatting with an LLM](https://api.arcade.dev/dashboard/playground/chat) asking, \"What are the last 5 messages in the general Slack channel?\" or [executing Slack tools directly](https://api.arcade.dev/dashboard/playground/execute?toolId=GetMessagesInChannelByName&toolkits=%5B%5D&authProviders=%5B%5D&secrets=%5B%5D&input=%7B%22owner%22%3A%22ArcadeAI%22%2C%22name%22%3A%22arcade-ai%22%2C%22starred%22%3A%22true%22%2C%22channel_name%22%3A%22general%22%2C%22limit%22%3A%225%22%7D) without interacting with an LLM.\n\n\n When using LLMs with Slack, responses may sometimes contain inaccuracies.\n Always review AI-generated content before taking action.\n\n\n\n\n## Next steps\n\nThe Arcade app for Slack is a sample for what Arcade can do with your Slack workspace. It's likely that for your own applications you'll need to [create your own app for Slack](/references/auth-providers/slack). Creating your own application for Slack will allow you to brand the app, customize the permissions, and more.\n\n## Need help?\n\nIf you have any questions or need assistance:\n\n- Check our [Slack MCP Server documentation](/resources/integrations/social-communication/slack)\n- [Contact our support team](/resources/contact-us)\n", - "relativePath": "install/page.mdx" - }, - { - "type": "environment-variables", - "content": "# Environment Variables\n\n### `SLACK_MAX_CONCURRENT_REQUESTS`\n\nArcade uses asynchronous calls to request Slack API endpoints. In some tools, multiple concurrent HTTP requests may be issued to speed up execution. This environment variable controls the maximum number of concurrent requests to Slack API in any tool execution.\n\nThe value must be a numeric string with an integer greater than or equal to 1.\n\n**Default:** `3`\n\n\n### `MAX_PAGINATION_SIZE_LIMIT`\n\nThis environment variable controls the maximum number of items requested in a single call to a Slack API endpoint. Some of the Slack tools allow the tool caller to request a larger number of items per tool call, but the tool will paginate the results internally while respecting the `MAX_PAGINATION_SIZE_LIMIT`.\n\n**Default:** `200` (Slack supports, but discourages a limit larger than 200)\n\n\n### `MAX_PAGINATION_TIMEOUT_SECONDS`\n\nControls the maximum number of seconds any given Slack tool should wait while paginating responses from the Slack API.\n\n**Default:** `30` (expressed in seconds)\n", - "relativePath": "environment-variables/page.mdx" - } - ], - "generatedAt": "2026-01-26T17:41:10.378Z", - "summary": "Arcade.dev provides a toolkit for integrating with Slack, enabling developers to enhance their applications with powerful Slack features. This toolkit allows for seamless communication, conversation management, and user interactions within Slack's ecosystem.\n\n**Capabilities**\n- Access conversation metadata, messages, and user information.\n- List users and conversations associated with the authenticated user.\n- Send messages to channels or direct conversations.\n\n**OAuth**\n- Provider: Slack \n- Scopes: channels:history, channels:read, chat:write, groups:history, groups:read, im:history, im:read, im:write, mpim:history, mpim:read, users:read, users:read.email\n\n**Secrets**\n- No secrets are required for this integration." -} + "subPages": [], + "generatedAt": "2026-02-18T21:02:13.014Z", + "summary": "Arcade Slack toolkit enables programmatic access to Slack workspaces via OAuth2, letting LLMs read conversations, inspect users, and send or manage membership in channels and DMs. It consolidates message retrieval, metadata, user queries, invitations, and message sending behind simple, context-aware calls.\n\n**Capabilities**\n- Read and filter conversation messages and metadata across channels, DMs, and multi-party DMs.\n- Query and resolve user identities and profiles at scale.\n- Send messages, open group conversations, and manage channel membership.\n- List accessible conversations and participants for context-aware actions.\n\n**OAuth**\nProvider: slack\nScopes: channels:history, channels:read, channels:write, chat:write, groups:history, groups:read, groups:write, im:history, im:read, im:write, mpim:history, mpim:read, users:read, users:read.email" +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/stripe.json b/toolkit-docs-generator/data/toolkits/stripe.json index bff97efb0..4a642a1c0 100644 --- a/toolkit-docs-generator/data/toolkits/stripe.json +++ b/toolkit-docs-generator/data/toolkits/stripe.json @@ -1,7 +1,7 @@ { "id": "Stripe", "label": "Stripe", - "version": "1.0.1", + "version": "1.0.2", "description": "Arcade.dev LLM tools for Stripe", "metadata": { "category": "payments", @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/payments/stripe", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/payments/stripe", "isComingSoon": false, "isHidden": false }, @@ -18,7 +18,7 @@ { "name": "CreateBillingPortalSession", "qualifiedName": "Stripe.CreateBillingPortalSession", - "fullyQualifiedName": "Stripe.CreateBillingPortalSession@1.0.1", + "fullyQualifiedName": "Stripe.CreateBillingPortalSession@1.0.2", "description": "This tool will create a billing portal session.", "parameters": [ { @@ -39,7 +39,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -72,7 +74,7 @@ { "name": "CreateCustomer", "qualifiedName": "Stripe.CreateCustomer", - "fullyQualifiedName": "Stripe.CreateCustomer@1.0.1", + "fullyQualifiedName": "Stripe.CreateCustomer@1.0.2", "description": "This tool will create a customer in Stripe.", "parameters": [ { @@ -93,7 +95,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -126,7 +130,7 @@ { "name": "CreateInvoice", "qualifiedName": "Stripe.CreateInvoice", - "fullyQualifiedName": "Stripe.CreateInvoice@1.0.1", + "fullyQualifiedName": "Stripe.CreateInvoice@1.0.2", "description": "This tool will create an invoice in Stripe.", "parameters": [ { @@ -147,7 +151,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -180,7 +186,7 @@ { "name": "CreateInvoiceItem", "qualifiedName": "Stripe.CreateInvoiceItem", - "fullyQualifiedName": "Stripe.CreateInvoiceItem@1.0.1", + "fullyQualifiedName": "Stripe.CreateInvoiceItem@1.0.2", "description": "This tool will create an invoice item in Stripe.", "parameters": [ { @@ -209,7 +215,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -247,7 +255,7 @@ { "name": "CreatePaymentLink", "qualifiedName": "Stripe.CreatePaymentLink", - "fullyQualifiedName": "Stripe.CreatePaymentLink@1.0.1", + "fullyQualifiedName": "Stripe.CreatePaymentLink@1.0.2", "description": "This tool will create a payment link in Stripe.", "parameters": [ { @@ -268,7 +276,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -301,7 +311,7 @@ { "name": "CreatePrice", "qualifiedName": "Stripe.CreatePrice", - "fullyQualifiedName": "Stripe.CreatePrice@1.0.1", + "fullyQualifiedName": "Stripe.CreatePrice@1.0.2", "description": "This tool will create a price in Stripe. If a product has not already been", "parameters": [ { @@ -330,7 +340,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -368,7 +380,7 @@ { "name": "CreateProduct", "qualifiedName": "Stripe.CreateProduct", - "fullyQualifiedName": "Stripe.CreateProduct@1.0.1", + "fullyQualifiedName": "Stripe.CreateProduct@1.0.2", "description": "This tool will create a product in Stripe.", "parameters": [ { @@ -389,7 +401,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -422,7 +436,7 @@ { "name": "CreateRefund", "qualifiedName": "Stripe.CreateRefund", - "fullyQualifiedName": "Stripe.CreateRefund@1.0.1", + "fullyQualifiedName": "Stripe.CreateRefund@1.0.2", "description": "This tool will refund a payment intent in Stripe.", "parameters": [ { @@ -443,7 +457,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -476,7 +492,7 @@ { "name": "FinalizeInvoice", "qualifiedName": "Stripe.FinalizeInvoice", - "fullyQualifiedName": "Stripe.FinalizeInvoice@1.0.1", + "fullyQualifiedName": "Stripe.FinalizeInvoice@1.0.2", "description": "This tool will finalize an invoice in Stripe.", "parameters": [ { @@ -489,7 +505,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -517,7 +535,7 @@ { "name": "ListCustomers", "qualifiedName": "Stripe.ListCustomers", - "fullyQualifiedName": "Stripe.ListCustomers@1.0.1", + "fullyQualifiedName": "Stripe.ListCustomers@1.0.2", "description": "This tool will fetch a list of Customers from Stripe.", "parameters": [ { @@ -538,7 +556,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -571,7 +591,7 @@ { "name": "ListInvoices", "qualifiedName": "Stripe.ListInvoices", - "fullyQualifiedName": "Stripe.ListInvoices@1.0.1", + "fullyQualifiedName": "Stripe.ListInvoices@1.0.2", "description": "This tool will list invoices in Stripe.", "parameters": [ { @@ -592,7 +612,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -625,7 +647,7 @@ { "name": "ListPaymentIntents", "qualifiedName": "Stripe.ListPaymentIntents", - "fullyQualifiedName": "Stripe.ListPaymentIntents@1.0.1", + "fullyQualifiedName": "Stripe.ListPaymentIntents@1.0.2", "description": "This tool will list payment intents in Stripe.", "parameters": [ { @@ -646,7 +668,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -679,7 +703,7 @@ { "name": "ListPrices", "qualifiedName": "Stripe.ListPrices", - "fullyQualifiedName": "Stripe.ListPrices@1.0.1", + "fullyQualifiedName": "Stripe.ListPrices@1.0.2", "description": "This tool will fetch a list of Prices from Stripe.", "parameters": [ { @@ -700,7 +724,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -733,7 +759,7 @@ { "name": "ListProducts", "qualifiedName": "Stripe.ListProducts", - "fullyQualifiedName": "Stripe.ListProducts@1.0.1", + "fullyQualifiedName": "Stripe.ListProducts@1.0.2", "description": "This tool will fetch a list of Products from Stripe.", "parameters": [ { @@ -746,7 +772,9 @@ } ], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -774,11 +802,13 @@ { "name": "RetrieveBalance", "qualifiedName": "Stripe.RetrieveBalance", - "fullyQualifiedName": "Stripe.RetrieveBalance@1.0.1", + "fullyQualifiedName": "Stripe.RetrieveBalance@1.0.2", "description": "This tool will retrieve the balance from Stripe. It takes no input.", "parameters": [], "auth": null, - "secrets": ["STRIPE_SECRET_KEY"], + "secrets": [ + "STRIPE_SECRET_KEY" + ], "secretsInfo": [ { "name": "STRIPE_SECRET_KEY", @@ -803,12 +833,11 @@ "type": "markdown", "location": "auth", "position": "after", - "content": "The Arcade Stripe MCP Server uses the [Stripe Agent Toolkit](https://github.com/stripe/agent-toolkit) to interact with the Stripe API.\n- **Required Secret:**\n - `STRIPE_SECRET_KEY`: Your Stripe API key.", - "header": "## Auth" + "content": "The Arcade Stripe MCP Server uses the [Stripe Agent Toolkit](https://github.com/stripe/agent-toolkit) to interact with the Stripe API.\n- **Required Secret:**\n - `STRIPE_SECRET_KEY`: Your Stripe API key." } ], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:41:59.314Z", + "generatedAt": "2026-02-18T21:02:06.502Z", "summary": "Arcade.dev provides a powerful toolkit for integrating with Stripe, enabling seamless management of billing, customer data, and payment processes. This toolkit simplifies common tasks, making it easier for developers to leverage Stripe's capabilities.\n\n### Capabilities\n- Create and manage customers, products, and prices.\n- Generate invoices and billing portal sessions effortlessly.\n- Retrieve and list pertinent data such as invoices and payment intents.\n- Facilitate refunds and manage financial transactions seamlessly.\n\n### Secrets\n- **API Key**: Use the `STRIPE_SECRET_KEY` for authentication when interacting with the Stripe API." -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/x.json b/toolkit-docs-generator/data/toolkits/x.json index e7f6657f1..acde830b7 100644 --- a/toolkit-docs-generator/data/toolkits/x.json +++ b/toolkit-docs-generator/data/toolkits/x.json @@ -1,7 +1,7 @@ { "id": "X", "label": "X", - "version": "1.1.1", + "version": "1.3.1", "description": "Arcade.dev LLM tools for X (Twitter)", "metadata": { "category": "social", @@ -9,20 +9,24 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/social-communication/x", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/social-communication/x", "isComingSoon": false, "isHidden": false }, "auth": { "type": "oauth2", "providerId": "x", - "allScopes": ["tweet.read", "tweet.write", "users.read"] + "allScopes": [ + "tweet.read", + "tweet.write", + "users.read" + ] }, "tools": [ { "name": "DeleteTweetById", "qualifiedName": "X.DeleteTweetById", - "fullyQualifiedName": "X.DeleteTweetById@1.1.1", + "fullyQualifiedName": "X.DeleteTweetById@1.3.1", "description": "Delete a tweet on X (Twitter).", "parameters": [ { @@ -37,7 +41,11 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "tweet.write", "users.read"] + "scopes": [ + "tweet.read", + "tweet.write", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -63,7 +71,7 @@ { "name": "LookupSingleUserByUsername", "qualifiedName": "X.LookupSingleUserByUsername", - "fullyQualifiedName": "X.LookupSingleUserByUsername@1.1.1", + "fullyQualifiedName": "X.LookupSingleUserByUsername@1.3.1", "description": "Look up a user on X (Twitter) by their username.", "parameters": [ { @@ -78,7 +86,10 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["users.read", "tweet.read"] + "scopes": [ + "users.read", + "tweet.read" + ] }, "secrets": [], "secretsInfo": [], @@ -104,7 +115,7 @@ { "name": "LookupTweetById", "qualifiedName": "X.LookupTweetById", - "fullyQualifiedName": "X.LookupTweetById@1.1.1", + "fullyQualifiedName": "X.LookupTweetById@1.3.1", "description": "Look up a tweet on X (Twitter) by tweet ID.", "parameters": [ { @@ -119,7 +130,10 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "users.read"] + "scopes": [ + "tweet.read", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -145,7 +159,7 @@ { "name": "PostTweet", "qualifiedName": "X.PostTweet", - "fullyQualifiedName": "X.PostTweet@1.1.1", + "fullyQualifiedName": "X.PostTweet@1.3.1", "description": "Post a tweet to X (Twitter).\n\nIMPORTANT NOTE:\nUse this tool ONLY when posting a tweet that is not a reply.\nIf you need to reply to a tweet, use the ReplyToTweet tool instead.\nIf you need to quote a tweet, you must include the quote_tweet_id parameter.", "parameters": [ { @@ -160,7 +174,7 @@ "name": "quote_tweet_id", "type": "string", "required": false, - "description": "The ID of the tweet you want to quote. It must be a valid integer as a string. Optional.", + "description": "The ID of the tweet you want to quote. It must be a valid integer as a string. Default is None.", "enum": null, "inferrable": true } @@ -168,7 +182,11 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "tweet.write", "users.read"] + "scopes": [ + "tweet.read", + "tweet.write", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -181,12 +199,12 @@ "toolName": "X.PostTweet", "parameters": { "tweet_text": { - "value": "Excited to share my latest project! Check it out! #innovation #tech", + "value": "Excited to announce our new product launching today! Visit https://example.com to learn more. #LaunchDay 🚀", "type": "string", "required": true }, "quote_tweet_id": { - "value": "1234567890", + "value": "1627384950123456789", "type": "string", "required": false } @@ -199,7 +217,7 @@ { "name": "ReplyToTweet", "qualifiedName": "X.ReplyToTweet", - "fullyQualifiedName": "X.ReplyToTweet@1.1.1", + "fullyQualifiedName": "X.ReplyToTweet@1.3.1", "description": "Reply to a tweet on X (Twitter).\n\nIMPORTANT NOTE:\nUse this tool ONLY when replying to a tweet directly.\nIf you need to post a tweet that is not a reply, use the PostTweet tool instead.\nIf you need to quote a tweet on your reply, you must include the quote_tweet_id parameter.", "parameters": [ { @@ -230,7 +248,11 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "tweet.write", "users.read"] + "scopes": [ + "tweet.read", + "tweet.write", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -266,7 +288,7 @@ { "name": "SearchRecentTweetsByKeywords", "qualifiedName": "X.SearchRecentTweetsByKeywords", - "fullyQualifiedName": "X.SearchRecentTweetsByKeywords@1.1.1", + "fullyQualifiedName": "X.SearchRecentTweetsByKeywords@1.3.1", "description": "Search for recent tweets (last 7 days) on X (Twitter) by required keywords and phrases.\nIncludes replies and reposts.\nOne of the following input parameters MUST be provided: keywords, phrases", "parameters": [ { @@ -307,7 +329,10 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "users.read"] + "scopes": [ + "tweet.read", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -320,12 +345,19 @@ "toolName": "X.SearchRecentTweetsByKeywords", "parameters": { "keywords": { - "value": ["technology", "AI", "innovation"], + "value": [ + "technology", + "AI", + "innovation" + ], "type": "array", "required": false }, "phrases": { - "value": ["machine learning", "data science"], + "value": [ + "machine learning", + "data science" + ], "type": "array", "required": false }, @@ -348,7 +380,7 @@ { "name": "SearchRecentTweetsByUsername", "qualifiedName": "X.SearchRecentTweetsByUsername", - "fullyQualifiedName": "X.SearchRecentTweetsByUsername@1.1.1", + "fullyQualifiedName": "X.SearchRecentTweetsByUsername@1.3.1", "description": "Search for recent tweets (last 7 days) on X (Twitter) by username.\nIncludes replies and reposts.", "parameters": [ { @@ -379,7 +411,10 @@ "auth": { "providerId": "x", "providerType": "oauth2", - "scopes": ["tweet.read", "users.read"] + "scopes": [ + "tweet.read", + "users.read" + ] }, "secrets": [], "secretsInfo": [], @@ -411,11 +446,40 @@ "authProvider": "x", "tabLabel": "Call the Tool with User Authorization" } + }, + { + "name": "WhoAmI", + "qualifiedName": "X.WhoAmI", + "fullyQualifiedName": "X.WhoAmI@1.3.1", + "description": "Get information about the authenticated X (Twitter) user.\n\nReturns the current user's profile including their username, name, description,\nfollower counts, and other account information.", + "parameters": [], + "auth": { + "providerId": "x", + "providerType": "oauth2", + "scopes": [ + "users.read", + "tweet.read" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "Authenticated user's profile information" + }, + "documentationChunks": [], + "codeExample": { + "toolName": "X.WhoAmI", + "parameters": {}, + "requiresAuth": true, + "authProvider": "x", + "tabLabel": "Call the Tool with User Authorization" + } } ], "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:46:46.899Z", - "summary": "Arcade.dev provides a powerful toolkit for interacting with X (Twitter), enabling developers to seamlessly integrate Twitter functionality into their applications. This toolkit offers a variety of features to manage tweets, user information, and search capabilities.\n\n**Capabilities**\n- Post, delete, and reply to tweets programmatically.\n- Search for recent tweets by keywords or usernames.\n- Retrieve user details by username.\n\n**OAuth**\nProvider: X (Twitter) \nScopes: tweet.read, tweet.write, users.read\n\n**Secrets** \nNo secrets are required for using this toolkit." -} + "generatedAt": "2026-02-18T21:02:12.284Z", + "summary": "The X toolkit provides OAuth2-backed access to X (Twitter), enabling programmatic posting, replying, searching, and account-aware tweet management. It exposes high-level operations for composing, replying to and deleting tweets, querying recent conversation streams, and retrieving user profiles for authenticated workflows.\n\n**Capabilities**\n- Compose and publish non-reply tweets with optional quote support, and perform direct reply flows.\n- Delete and manage owned tweets and handle common moderation workflows.\n- Search recent tweets by keywords or username (last 7 days), including replies and reposts.\n- Retrieve user and authenticated-account metadata to drive personalized behavior and permission checks.\n\n**OAuth**\nProvider: x\nScopes: tweet.read, tweet.write, users.read" +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/youtube.json b/toolkit-docs-generator/data/toolkits/youtube.json index 16d4fb2b0..01e8e8d68 100644 --- a/toolkit-docs-generator/data/toolkits/youtube.json +++ b/toolkit-docs-generator/data/toolkits/youtube.json @@ -1,7 +1,7 @@ { "id": "Youtube", "label": "Youtube", - "version": "3.1.2", + "version": "3.1.4", "description": "Arcade.dev LLM tools for searching for YouTube videos"", "metadata": { "category": "search", @@ -9,7 +9,7 @@ "isBYOC": true, "isPro": true, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/search/youtube", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/search/youtube", "isComingSoon": false, "isHidden": false }, @@ -18,7 +18,7 @@ { "name": "GetYoutubeVideoDetails", "qualifiedName": "Youtube.GetYoutubeVideoDetails", - "fullyQualifiedName": "Youtube.GetYoutubeVideoDetails@3.1.2", + "fullyQualifiedName": "Youtube.GetYoutubeVideoDetails@3.1.4", "description": "Get details about a YouTube video.", "parameters": [ { @@ -47,7 +47,9 @@ } ], "auth": null, - "secrets": ["SERP_API_KEY"], + "secrets": [ + "SERP_API_KEY" + ], "secretsInfo": [ { "name": "SERP_API_KEY", @@ -85,7 +87,7 @@ { "name": "SearchForVideos", "qualifiedName": "Youtube.SearchForVideos", - "fullyQualifiedName": "Youtube.SearchForVideos@3.1.2", + "fullyQualifiedName": "Youtube.SearchForVideos@3.1.4", "description": "Search for YouTube videos related to the query.", "parameters": [ { @@ -122,7 +124,9 @@ } ], "auth": null, - "secrets": ["SERP_API_KEY"], + "secrets": [ + "SERP_API_KEY" + ], "secretsInfo": [ { "name": "SERP_API_KEY", @@ -166,6 +170,6 @@ "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:46:54.196Z", + "generatedAt": "2026-02-18T21:02:14.654Z", "summary": "Arcade.dev provides a toolkit for interacting with YouTube, enabling developers to search for videos and retrieve video details seamlessly. This toolkit simplifies tasks related to enhancing applications with YouTube content.\n\n**Capabilities** \n- Search for videos based on specific queries \n- Retrieve detailed information about YouTube videos \n- Supports integration of YouTube functionalities into applications \n- Allows quick access to video data for enhanced user experiences \n\n**OAuth** \n- No OAuth authentication required. \n\n**Secrets** \n- API Key: Use the `SERP_API_KEY` to authenticate API requests for video data." -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/zohobooksapi.json b/toolkit-docs-generator/data/toolkits/zohobooksapi.json index 8ca8d3fa6..d0bd4cc8e 100644 --- a/toolkit-docs-generator/data/toolkits/zohobooksapi.json +++ b/toolkit-docs-generator/data/toolkits/zohobooksapi.json @@ -1,39 +1,44402 @@ { "id": "ZohoBooksApi", "label": "Zoho Books API", - "version": "0.0.0", - "description": null, + "version": "1.0.0", + "description": "Tools that enable LLMs to interact directly with the zoho-books API.", "metadata": { "category": "payments", "iconUrl": "https://design-system.arcade.dev/icons/zoho-books.svg", "isBYOC": false, "isPro": false, "type": "arcade_starter", - "docsLink": "https://docs.arcade.dev/en/mcp-servers/payments/zoho-books-api", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/payments/zoho-books-api", "isComingSoon": false, "isHidden": false }, - "auth": null, - "tools": [], - "documentationChunks": [ - { - "type": "section", - "location": "custom_section", - "position": "after", - "content": "## Secrets\n\nThis MCP Server requires the `ZOHO_SERVER_URL` secret to be configured. Learn how to [configure secrets](/guides/create-tools/tool-basics/create-tool-secrets).\n\n### Getting your Zoho Server URL\n\nThe Zoho Server URL is the base URL for your Zoho account's data center. Zoho operates in multiple data centers around the world, and you must use the correct URL for your account.\n\nYour Zoho Server URL depends on which data center your account is registered in:\n\n| Data Center | Server URL |\n| ----------- | --------------------------- |\n| US | `https://books.zoho.com` |\n| EU | `https://books.zoho.eu` |\n| India | `https://books.zoho.in` |\n| Australia | `https://books.zoho.com.au` |\n| China | `https://books.zoho.com.cn` |\n\nTo determine which data center your account uses:\n\n1. Log in to your Zoho Books account\n2. Look at the URL in your browser's address bar\n3. The domain (`.com`, `.eu`, `.in`, `.com.au`, or `.com.cn`) indicates your data center\n\nFor example, if you access Zoho Books at `https://books.zoho.eu`, your server URL is `https://books.zoho.eu`.\n\nThe server URL is used as the base for all API requests. For example, when retrieving invoices, the full URL would be constructed as:\n\n```\n{zoho_server_url}/api/v3/invoices?organization_id=...\n```\n\nWhich would become `https://books.zoho.com/api/v3/invoices?organization_id=...` for US accounts.", - "header": "## Secrets" - }, - { - "type": "markdown", - "location": "auth", - "position": "after", - "content": "The ZohoBooksApi MCP Server uses the Auth Provider with id `arcade-zoho` to connect to users' Zoho Books accounts. In order to use the MCP Server, you will need to configure the `arcade-zoho` auth provider.\nLearn how to configure the Zoho auth provider in the [Zoho auth provider documentation](/references/auth-providers/zoho).", - "header": "## Auth" + "auth": { + "type": "oauth2", + "providerId": "zoho", + "allScopes": [ + "ZohoBooks.accountants.CREATE", + "ZohoBooks.accountants.DELETE", + "ZohoBooks.accountants.READ", + "ZohoBooks.accountants.UPDATE", + "ZohoBooks.banking.CREATE", + "ZohoBooks.banking.DELETE", + "ZohoBooks.banking.READ", + "ZohoBooks.banking.UPDATE", + "ZohoBooks.bills.CREATE", + "ZohoBooks.bills.DELETE", + "ZohoBooks.bills.READ", + "ZohoBooks.bills.UPDATE", + "ZohoBooks.contacts.CREATE", + "ZohoBooks.contacts.DELETE", + "ZohoBooks.contacts.READ", + "ZohoBooks.contacts.UPDATE", + "ZohoBooks.creditnotes.CREATE", + "ZohoBooks.creditnotes.DELETE", + "ZohoBooks.creditnotes.READ", + "ZohoBooks.creditnotes.UPDATE", + "ZohoBooks.customerpayments.CREATE", + "ZohoBooks.customerpayments.DELETE", + "ZohoBooks.customerpayments.READ", + "ZohoBooks.customerpayments.UPDATE", + "ZohoBooks.custommodules.ALL", + "ZohoBooks.debitnotes.CREATE", + "ZohoBooks.debitnotes.DELETE", + "ZohoBooks.debitnotes.READ", + "ZohoBooks.debitnotes.UPDATE", + "ZohoBooks.estimates.CREATE", + "ZohoBooks.estimates.DELETE", + "ZohoBooks.estimates.READ", + "ZohoBooks.estimates.UPDATE", + "ZohoBooks.expenses.CREATE", + "ZohoBooks.expenses.DELETE", + "ZohoBooks.expenses.READ", + "ZohoBooks.expenses.UPDATE", + "ZohoBooks.fixedasset.CREATE", + "ZohoBooks.fixedasset.DELETE", + "ZohoBooks.fixedasset.READ", + "ZohoBooks.fixedasset.UPDATE", + "ZohoBooks.invoices.CREATE", + "ZohoBooks.invoices.DELETE", + "ZohoBooks.invoices.READ", + "ZohoBooks.invoices.UPDATE", + "ZohoBooks.projects.CREATE", + "ZohoBooks.projects.DELETE", + "ZohoBooks.projects.READ", + "ZohoBooks.projects.UPDATE", + "ZohoBooks.purchaseorders.CREATE", + "ZohoBooks.purchaseorders.DELETE", + "ZohoBooks.purchaseorders.READ", + "ZohoBooks.purchaseorders.UPDATE", + "ZohoBooks.salesorders.CREATE", + "ZohoBooks.salesorders.DELETE", + "ZohoBooks.salesorders.READ", + "ZohoBooks.salesorders.UPDATE", + "ZohoBooks.settings.ALL", + "ZohoBooks.settings.CREATE", + "ZohoBooks.settings.DELETE", + "ZohoBooks.settings.READ", + "ZohoBooks.settings.UPDATE", + "ZohoBooks.vendorpayments.CREATE", + "ZohoBooks.vendorpayments.DELETE", + "ZohoBooks.vendorpayments.READ", + "ZohoBooks.vendorpayments.UPDATE" + ] + }, + "tools": [ + { + "name": "AcceptEstimate", + "qualifiedName": "ZohoBooksApi.AcceptEstimate", + "fullyQualifiedName": "ZohoBooksApi.AcceptEstimate@1.0.0", + "description": "Mark a sent estimate as accepted if the customer has accepted it.\n\nUse this tool to update the status of a sent estimate to accepted once your customer has approved it.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID for the organization related to the estimate acceptance.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the estimate to be marked as accepted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_estimate_accepted'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AcceptEstimate", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateBankAccount", + "qualifiedName": "ZohoBooksApi.ActivateBankAccount", + "fullyQualifiedName": "ZohoBooksApi.ActivateBankAccount@1.0.0", + "description": "Activate a bank account in Zoho Books.\n\nThis tool is used to mark a bank account as active in Zoho Books. It should be called when there is a need to change the status of a bank account to active.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. This ID is required to activate a bank account within the specified organization.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account to be activated in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_bank_account_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateBankAccount", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateChartOfAccount", + "qualifiedName": "ZohoBooksApi.ActivateChartOfAccount", + "fullyQualifiedName": "ZohoBooksApi.ActivateChartOfAccount@1.0.0", + "description": "Activate a chart of account in Zoho Books.\n\nUse this tool to update the status of a chart of account to active in Zoho Books. This is useful when you need to ensure an account is reactivated and available for transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books that needs the account to be activated.", + "enum": null, + "inferrable": true + }, + { + "name": "account_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the account to be activated in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_chart_of_account_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateChartOfAccount", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "account_unique_identifier": { + "value": "100000000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateContact", + "qualifiedName": "ZohoBooksApi.ActivateContact", + "fullyQualifiedName": "ZohoBooksApi.ActivateContact@1.0.0", + "description": "Activate a contact in Zoho Books.\n\nUse this tool to mark a contact as active in Zoho Books. It should be called when a contact's status needs to be changed from inactive to active.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the contact belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact to be marked as active.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_contact_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateContact", + "parameters": { + "organization_id": { + "value": "987654321", + "type": "string", + "required": true + }, + "contact_identifier": { + "value": "C123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateFixedAsset", + "qualifiedName": "ZohoBooksApi.ActivateFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.ActivateFixedAsset@1.0.0", + "description": "Activate a fixed asset to begin depreciation calculation.\n\nUse this tool to mark a fixed asset as active, which will initiate the calculation of its depreciation.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization. This is required to identify which organization's asset to activate.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_id", + "type": "string", + "required": true, + "description": "Unique identifier of the fixed asset to activate for depreciation calculation.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_fixed_asset_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateFixedAsset", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "fixed_asset_id": { + "value": "FA-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateInactiveItem", + "qualifiedName": "ZohoBooksApi.ActivateInactiveItem", + "fullyQualifiedName": "ZohoBooksApi.ActivateInactiveItem@1.0.0", + "description": "Activate an inactive item in Zoho Books.\n\nUse this tool to reactivate an item that has been previously marked as inactive in Zoho Books. It should be called when you need to make an item available again for transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for your organization in Zoho Books. Required to activate an item.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the item to be activated in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_item_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateInactiveItem", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "item_identifier": { + "value": "ITEM-00123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateInactiveUser", + "qualifiedName": "ZohoBooksApi.ActivateInactiveUser", + "fullyQualifiedName": "ZohoBooksApi.ActivateInactiveUser@1.0.0", + "description": "Mark an inactive user as active.\n\nUse this tool to activate a user who is currently marked as inactive in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the user will be reactivated. Ensure it matches the organization's records.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the user to be activated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_user_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateInactiveUser", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "user_identifier": { + "value": "jane.doe@acme.com", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateInvoiceReminder", + "qualifiedName": "ZohoBooksApi.ActivateInvoiceReminder", + "fullyQualifiedName": "ZohoBooksApi.ActivateInvoiceReminder@1.0.0", + "description": "Enable automated payment reminders for invoices.\n\nActivate automatic reminders for invoice payments to ensure timely settlements.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice payment reminder is being activated.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice for which payment reminders are to be activated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'enable_invoice_payment_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateInvoiceReminder", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateLocation", + "qualifiedName": "ZohoBooksApi.ActivateLocation", + "fullyQualifiedName": "ZohoBooksApi.ActivateLocation@1.0.0", + "description": "Marks a location as active.\n\nUse this tool to mark a specified location as active in the system. This is useful for enabling locations that were previously inactive.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to which the location belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "location_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the location to be marked as active.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_location_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateLocation", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "location_identifier": { + "value": "LOC-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ActivateProject", + "qualifiedName": "ZohoBooksApi.ActivateProject", + "fullyQualifiedName": "ZohoBooksApi.ActivateProject@1.0.0", + "description": "Activate a project in Zoho Books.\n\nThis tool marks a specified project as active in Zoho Books. Call this tool when you need to change the status of a project to active to enable its functionalities or integrations.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in which the project is to be activated.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the project to activate in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_project_active'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ActivateProject", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "PROJ-2026-0042", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddCommentToBill", + "qualifiedName": "ZohoBooksApi.AddCommentToBill", + "fullyQualifiedName": "ZohoBooksApi.AddCommentToBill@1.0.0", + "description": "Add a comment to a specific bill in Zoho Books.\n\n Use this tool to add a comment to a bill identified by its ID in Zoho Books. Useful for internal notes or communication about a bill.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required to specify which organization's bill to comment on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the bill to add a comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_bill_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddCommentToBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "bill_identifier": { + "value": "BILL-000123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\": {\"comment\": \"Please verify the tax details before payment.\", \"is_public\": false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddContactAddress", + "qualifiedName": "ZohoBooksApi.AddContactAddress", + "fullyQualifiedName": "ZohoBooksApi.AddContactAddress@1.0.0", + "description": "Add an additional address to a contact in Zoho Books.\n\n Use this tool to append a new address to an existing contact in Zoho Books. Suitable when updating contact details with more location information.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the contact address will be added. This is required to specify the target organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": false, + "description": "The unique identifier for the contact to which an address will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_contact_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddContactAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "contact_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"address\":{\"label\":\"Office\",\"address\":\"123 Main St\",\"street2\":\"Suite 400\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"phone\":\"+1-415-555-0132\",\"is_shipping\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddCreditNoteComment", + "qualifiedName": "ZohoBooksApi.AddCreditNoteComment", + "fullyQualifiedName": "ZohoBooksApi.AddCreditNoteComment@1.0.0", + "description": "Add a comment to an existing credit note.\n\n Use this tool to append a comment to a specific credit note by providing the credit note's ID and the comment text. Ideal for documenting additional information or context on credit notes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The string ID of the organization to which the credit note belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to which the comment will be added. This is required to specify the exact credit note targeted for the comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_credit_note_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddCreditNoteComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "CN-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\": {\"comment\": \"Applied refund for duplicate charge. Confirmed with client.\", \"is_private\": false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddEstimateComment", + "qualifiedName": "ZohoBooksApi.AddEstimateComment", + "fullyQualifiedName": "ZohoBooksApi.AddEstimateComment@1.0.0", + "description": "Add a comment for a specific estimate in Zoho Books.\n\n Use this tool to add a comment to an existing estimate in Zoho Books. Call it when you need to append notes or feedback to an estimate record.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization within Zoho Books. It is required to specify which organization's estimate is being commented on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific estimate to comment on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_estimate_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddEstimateComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"description\":\"Please review the updated line items and pricing.\",\"is_visible_to_client\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddFixedAssetComment", + "qualifiedName": "ZohoBooksApi.AddFixedAssetComment", + "fullyQualifiedName": "ZohoBooksApi.AddFixedAssetComment@1.0.0", + "description": "Add a comment to a fixed asset in Zoho Books.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. This is required to add a comment to the fixed asset. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the fixed asset to add a comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_fixed_asset_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddFixedAssetComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "fixed_asset_identifier": { + "value": "FA-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Scheduled maintenance required. Inspect and update records.\",\"is_public\":false,\"notify_user_ids\":[\"987654321\"],\"created_by\":\"john.doe@example.com\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddInvoiceComment", + "qualifiedName": "ZohoBooksApi.AddInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.AddInvoiceComment@1.0.0", + "description": "Add a comment to a specific invoice.\n\n Use this tool to add a comment to an invoice by specifying the invoice ID. Useful for internal notes or communication related to invoice handling.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the invoice belongs. It must be a valid and existing organization ID. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to add a comment to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddInvoiceComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"content\":\"Added internal note: Customer requested 15-day extension. Follow up on 2026-03-01.\",\"private\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddJournalComment", + "qualifiedName": "ZohoBooksApi.AddJournalComment", + "fullyQualifiedName": "ZohoBooksApi.AddJournalComment@1.0.0", + "description": "Add a comment to a journal entry in Zoho Books.\n\n This tool adds a comment to a specified journal entry in Zoho Books. Call this tool when you need to annotate or provide additional information for a journal entry.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books where the comment is to be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_unique_id", + "type": "string", + "required": false, + "description": "The unique identifier for the journal entry to which the comment will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_journal_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddJournalComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "journal_unique_id": { + "value": "JE-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Reviewed and approved by finance team\",\"is_internal\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddProjectTask", + "qualifiedName": "ZohoBooksApi.AddProjectTask", + "fullyQualifiedName": "ZohoBooksApi.AddProjectTask@1.0.0", + "description": "Add a task to a specific project.\n\n Use this tool to add a task to a specified project in Zoho Books. It is suitable when you need to organize tasks within a project and track them through Zoho's project management system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the task is being added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the project in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_task'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddProjectTask", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "ORG123456789", + "type": "string", + "required": false + }, + "project_identifier": { + "value": "PROJ987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"task\":{\"name\":\"Design Homepage\",\"description\":\"Create initial designs for the homepage and review with team\",\"start_date\":\"2026-02-20\",\"end_date\":\"2026-03-05\",\"owner_id\":\"1234567890\",\"priority\":\"High\",\"status\":\"Open\",\"estimated_hours\":40,\"billable\":true,\"task_assignees\":[{\"user_id\":\"987654321\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddPurchaseOrderComment", + "qualifiedName": "ZohoBooksApi.AddPurchaseOrderComment", + "fullyQualifiedName": "ZohoBooksApi.AddPurchaseOrderComment@1.0.0", + "description": "Add a comment to a purchase order in Zoho Books.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This ID is required to specify which organization's purchase order is being commented on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the purchase order in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_purchase_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddPurchaseOrderComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "purchase_order_identifier": { + "value": "PO-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Please expedite shipment.\",\"is_private\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddRetainerInvoiceComment", + "qualifiedName": "ZohoBooksApi.AddRetainerInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.AddRetainerInvoiceComment@1.0.0", + "description": "Add a comment to a specific retainer invoice.\n\n This tool is used to add a comment to a specified retainer invoice in Zoho Books. It should be called when a user wishes to provide additional information or notes related to an existing retainer invoice.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique ID string of the organization in Zoho Books to add a comment to a retainer invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "A unique identifier for the retainer invoice you want to comment on. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_retainer_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddRetainerInvoiceComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "987654321098765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"content\":\"Please note partial payment received on 2026-02-15.\",\"is_public\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddSalesOrderComment", + "qualifiedName": "ZohoBooksApi.AddSalesOrderComment", + "fullyQualifiedName": "ZohoBooksApi.AddSalesOrderComment@1.0.0", + "description": "Add a comment to a sales order in Zoho Books.\n\n This tool is used to add a comment to a specific sales order in Zoho Books. It should be called when you need to leave additional remarks or notes on a sales order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to which the comment will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_sales_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddSalesOrderComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "SO-2026-000123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Customer requested gift wrap. Handle with care.\",\"is_private\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AddVendorCreditComment", + "qualifiedName": "ZohoBooksApi.AddVendorCreditComment", + "fullyQualifiedName": "ZohoBooksApi.AddVendorCreditComment@1.0.0", + "description": "Add a comment to an existing vendor credit.\n\n Use this tool to add a comment to a vendor credit in Zoho Books. It should be called when you need to attach notes or additional information to a vendor credit entry.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization the vendor credit belongs to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor credit to which the comment will be added. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_vendor_credit_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AddVendorCreditComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "vendor_credit_identifier": { + "value": "VC-987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"description\":\"Added note: vendor returned defective items; adjusted credit accordingly.\",\"is_private\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApplyCreditNoteToInvoice", + "qualifiedName": "ZohoBooksApi.ApplyCreditNoteToInvoice", + "fullyQualifiedName": "ZohoBooksApi.ApplyCreditNoteToInvoice@1.0.0", + "description": "Apply credit note to existing invoices in Zoho Books.\n\n This tool applies a credit note to specific existing invoices within the Zoho Books platform. It should be called when you want to manage or adjust invoice balances by using available credit notes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization within Zoho Books to which the credit note is being applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to apply to invoices. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'apply_credit_note_to_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApplyCreditNoteToInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "200000000000123456", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"apply_to_invoices\":[{\"invoice_id\":\"654321000000012345\",\"amount_applied\":150.00}],\"reference_number\":\"CN-APPLY-001\",\"notes\":\"Applying credit note to customer invoice\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApplyCreditsToInvoice", + "qualifiedName": "ZohoBooksApi.ApplyCreditsToInvoice", + "fullyQualifiedName": "ZohoBooksApi.ApplyCreditsToInvoice@1.0.0", + "description": "Apply customer credits to an invoice.\n\n This tool applies customer credits, from credit notes or excess payments, to a specified invoice. It can apply multiple credits at once.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to identify where credits are applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to which credits will be applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'apply_credits_to_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApplyCreditsToInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "invoice_unique_identifier": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"apply_credits\":[{\"credit_id\":\"1122334455\",\"credit_type\":\"credit_note\",\"amount_applied\":150.00},{\"credit_id\":\"2233445566\",\"credit_type\":\"excess_payment\",\"amount_applied\":50.00}],\"total_applied\":200.00,\"notes\":\"Applying credits to invoice\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApplyVendorCreditsToBill", + "qualifiedName": "ZohoBooksApi.ApplyVendorCreditsToBill", + "fullyQualifiedName": "ZohoBooksApi.ApplyVendorCreditsToBill@1.0.0", + "description": "Apply vendor credits to a bill.\n\n This tool applies vendor credits from excess payments to a specified bill. It is useful for managing accounts and applying multiple credits at once.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization where credits are being applied. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the bill to apply credits to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'apply_credits_to_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApplyVendorCreditsToBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_credits\":[{\"vendor_credit_id\":\"VC1234567890\",\"amount_applied\":150.00,\"apply_date\":\"2026-02-15\",\"notes\":\"Applying excess payment from vendor overpayment\"},{\"vendor_credit_id\":\"VC0987654321\",\"amount_applied\":50.00,\"apply_date\":\"2026-02-16\"}],\"total_applied\":200.00}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApplyVendorCreditToBill", + "qualifiedName": "ZohoBooksApi.ApplyVendorCreditToBill", + "fullyQualifiedName": "ZohoBooksApi.ApplyVendorCreditToBill@1.0.0", + "description": "Apply vendor credit to an existing bill in Zoho Books.\n\n Use this tool to apply a specific vendor credit to existing bills. It helps manage and track accounts payable by adjusting bills with vendor credits.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization where the vendor credit will be applied. Required for identification within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor credit to be applied to a bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'apply_credits_to_a_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApplyVendorCreditToBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "vendor_credit_identifier": { + "value": "VC-001234", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"apply_to_bills\":[{\"bill_id\":\"BILL-12345\",\"amount_applied\":150.00,\"apply_date\":\"2026-02-18\",\"notes\":\"Applying vendor credit to bill BILL-12345\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveBill", + "qualifiedName": "ZohoBooksApi.ApproveBill", + "fullyQualifiedName": "ZohoBooksApi.ApproveBill@1.0.0", + "description": "Approve a bill in Zoho Books.\n\nThis tool approves a specified bill in Zoho Books. It should be used when you need to change the status of a bill to approved.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization for which the bill needs approval.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to be approved in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveBill", + "parameters": { + "organization_identifier": { + "value": "1234567890123456789", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "9876543210987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveCreditNote", + "qualifiedName": "ZohoBooksApi.ApproveCreditNote", + "fullyQualifiedName": "ZohoBooksApi.ApproveCreditNote@1.0.0", + "description": "Approve a credit note for a specified ID.\n\nUse this tool to approve a credit note by providing the specific credit note ID. This action confirms the validity and acceptance of the credit note within the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the credit note is being approved.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_identifier", + "type": "string", + "required": true, + "description": "A unique string identifier for the specific credit note to approve.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveCreditNote", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_identifier": { + "value": "CN-2026-0423", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveEstimate", + "qualifiedName": "ZohoBooksApi.ApproveEstimate", + "fullyQualifiedName": "ZohoBooksApi.ApproveEstimate@1.0.0", + "description": "Approve an estimate in Zoho Books.\n\nUse this tool to approve an estimate in the Zoho Books system when you have the estimate ID. It should be called when an estimate needs to be confirmed as approved.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books whose estimate is being approved. This should be the unique identifier associated with the organization.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate to be approved in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveEstimate", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveInvoice", + "qualifiedName": "ZohoBooksApi.ApproveInvoice", + "fullyQualifiedName": "ZohoBooksApi.ApproveInvoice@1.0.0", + "description": "Approve a specified invoice for processing.\n\nThis tool approves a pending invoice given its ID, making it ready for processing. Call this tool when an invoice requires approval to proceed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the invoice is to be approved.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to approve.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveInvoice", + "parameters": { + "organization_identifier": { + "value": "6754321000001234567", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApprovePurchaseOrder", + "qualifiedName": "ZohoBooksApi.ApprovePurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.ApprovePurchaseOrder@1.0.0", + "description": "Approve a purchase order.\n\nThis tool approves a specified purchase order in Zoho Books. It should be called when a purchase order needs to be authorized for further processing.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which to approve the purchase order. This should be a unique string identifier provided by Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the purchase order to be approved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApprovePurchaseOrder", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "purchase_order_identifier": { + "value": "PO-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveRetainerInvoice", + "qualifiedName": "ZohoBooksApi.ApproveRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.ApproveRetainerInvoice@1.0.0", + "description": "Approve a retainer invoice in Zoho Books.\n\nUse this tool to approve a specific retainer invoice in Zoho Books when you have the invoice ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the retainer invoice is being approved.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to approve.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveRetainerInvoice", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "RINV_00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveSalesOrder", + "qualifiedName": "ZohoBooksApi.ApproveSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.ApproveSalesOrder@1.0.0", + "description": "Approve a specified sales order in Zoho Books.\n\nUse this tool to approve a particular sales order within the Zoho Books system. This is typically called when a sales order needs to be confirmed and finalized.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books required for approving a sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "The unique identifier for the sales order to be approved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveSalesOrder", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-00123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ApproveVendorCredit", + "qualifiedName": "ZohoBooksApi.ApproveVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.ApproveVendorCredit@1.0.0", + "description": "Approve a vendor credit in Zoho Books.\n\nThis tool approves a vendor credit in Zoho Books, marking the credit as accepted for the specified vendor credit ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books. This uniquely identifies the organization for which the vendor credit approval will be processed.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to be approved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'approve_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ApproveVendorCredit", + "parameters": { + "organization_identifier": { + "value": "60001234567", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AssignUsersToProject", + "qualifiedName": "ZohoBooksApi.AssignUsersToProject", + "fullyQualifiedName": "ZohoBooksApi.AssignUsersToProject@1.0.0", + "description": "Assign users to a specific project in Zoho Books.\n\n Use this tool to assign multiple users to a project in Zoho Books when managing project teams or updating project participation.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique ID of the organization in Zoho Books for which users are being assigned to a project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the project to which users will be assigned. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AssignUsersToProject", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6572849123", + "type": "string", + "required": false + }, + "project_identifier": { + "value": "PROJ-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"users\":[{\"user_id\":\"123456789\",\"role\":\"Developer\",\"billable\":true,\"hourly_rate\":60},{\"user_id\":\"987654321\",\"role\":\"Tester\",\"billable\":false}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AssociateInvoiceWithSalesOrder", + "qualifiedName": "ZohoBooksApi.AssociateInvoiceWithSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.AssociateInvoiceWithSalesOrder@1.0.0", + "description": "Link existing invoices to sales orders for tracking.\n\n This tool is used to associate existing invoices with one or more sales orders, enabling better tracking and management of orders and billing.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required for linking invoices with sales orders. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'map_invoice_with_salesorder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AssociateInvoiceWithSalesOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "635484000000123456", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"invoice_id\":\"123456789012345\",\"salesorder_ids\":[\"234567890123456\",\"234567890123457\"],\"notes\":\"Linking invoice to sales orders for order fulfillment tracking.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachExpenseReceipt", + "qualifiedName": "ZohoBooksApi.AttachExpenseReceipt", + "fullyQualifiedName": "ZohoBooksApi.AttachExpenseReceipt@1.0.0", + "description": "Attach a receipt to a specified expense.\n\nUse this tool to attach a receipt file to an existing expense record, identified by the expense ID. It is helpful when you need to provide proof or documentation for expense entries in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_id", + "type": "string", + "required": true, + "description": "Unique identifier for the expense to which the receipt will be attached.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_receipt_file", + "type": "string", + "required": false, + "description": "The file to attach as an expense receipt. Supported formats: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_expense_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachExpenseReceipt", + "parameters": { + "organization_id": { + "value": "1234567890abcdef", + "type": "string", + "required": true + }, + "expense_id": { + "value": "EXP-2026-0001", + "type": "string", + "required": true + }, + "expense_receipt_file": { + "value": "receipt_2026-02-18.pdf", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToBill", + "qualifiedName": "ZohoBooksApi.AttachFileToBill", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToBill@1.0.0", + "description": "Attach a file to a specific bill.\n\nUse this tool to attach a file to a specific bill in Zoho Books. It should be called when you need to upload and associate documents, such as receipts or invoices, with a bill.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books to which the bill belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bill for which the file will be attached. Use this to specify the target bill in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "file_attachment", + "type": "string", + "required": false, + "description": "File to attach to the bill. Accepted formats: gif, png, jpeg, jpg, bmp, pdf.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_bill_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToBill", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "bill_id": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + }, + "file_attachment": { + "value": "receipt_jan2026.pdf", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToInvoice", + "qualifiedName": "ZohoBooksApi.AttachFileToInvoice", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToInvoice@1.0.0", + "description": "Attach a file to an invoice.\n\n Use this tool to upload and attach a file to a specified retainer invoice. This is useful for adding supporting documents or additional information to invoices.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to which the invoice belongs. Required to specify the correct entity for file attachment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the retainer invoice to which the file will be attached. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_retainer_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "retainer_invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"attachment\":{\"file_name\":\"service_agreement.pdf\",\"file_content\":\"JVBERi0xLjQKJXA0LjMuLi4=\",\"content_type\":\"application/pdf\",\"notes\":\"Signed service agreement for retainer invoice\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToJournal", + "qualifiedName": "ZohoBooksApi.AttachFileToJournal", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToJournal@1.0.0", + "description": "Attach a file to a Zoho Books journal entry.\n\nThis tool is used to attach a file to a specific journal entry in Zoho Books. Use it when you need to upload and associate documents or files with journal entries for record-keeping or documentation purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization where the file will be attached. This is used to specify the target organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_unique_identifier", + "type": "string", + "required": true, + "description": "Provide the unique identifier for the specific journal entry to which the file will be attached.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_file_path", + "type": "string", + "required": false, + "description": "The path to the file that will be attached to the journal in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "document_to_attach", + "type": "string", + "required": false, + "description": "The document or file to be attached to the journal entry in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "total_number_of_files", + "type": "integer", + "required": false, + "description": "Specify the total number of files to be attached to the journal. Ensure this matches the actual number of attachments.", + "enum": null, + "inferrable": true + }, + { + "name": "document_identifiers", + "type": "string", + "required": false, + "description": "A string of document IDs that need to be attached. These IDs should be associated with the documents intended for attachment.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_journal_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToJournal", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "journal_unique_identifier": { + "value": "JRN-2026-00042", + "type": "string", + "required": true + }, + "attachment_file_path": { + "value": "/var/tmp/journal_attachment_042.pdf", + "type": "string", + "required": false + }, + "document_to_attach": { + "value": "invoice_042.pdf", + "type": "string", + "required": false + }, + "total_number_of_files": { + "value": 1, + "type": "integer", + "required": false + }, + "document_identifiers": { + "value": "doc_abc123,doc_def456", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToPurchaseOrder", + "qualifiedName": "ZohoBooksApi.AttachFileToPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToPurchaseOrder@1.0.0", + "description": "Attach a file to a specified purchase order.\n\nUse this tool to attach a file to a specified purchase order in Zoho Books. Useful for adding supplementary documents or files to your existing purchase orders.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "The unique identifier of the purchase order to which the file will be attached.", + "enum": null, + "inferrable": true + }, + { + "name": "file_attachment", + "type": "string", + "required": false, + "description": "The file to attach to the purchase order. Must be one of the following formats: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, or docx.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_purchase_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToPurchaseOrder", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-2026-0001", + "type": "string", + "required": true + }, + "file_attachment": { + "value": "purchase_order_terms.pdf", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachFileToSalesOrder", + "qualifiedName": "ZohoBooksApi.AttachFileToSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.AttachFileToSalesOrder@1.0.0", + "description": "Attach a file to a specific sales order in Zoho Books.\n\nThis tool is used to attach a file to a specific sales order in Zoho Books. It should be called when you need to upload and associate a document with a sales order for tracking or record-keeping purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to which the file will be attached.", + "enum": null, + "inferrable": true + }, + { + "name": "file_to_attach", + "type": "string", + "required": false, + "description": "Path or identifier of the file to be attached to the sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "document_file_path", + "type": "string", + "required": false, + "description": "Path to the document file that needs to be attached to the sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "number_of_files", + "type": "integer", + "required": false, + "description": "Specify the total number of files to be attached to the sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "document_identifiers", + "type": "string", + "required": false, + "description": "A string representing the IDs of the documents to attach. Comma-separated for multiple IDs.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_sending_file_in_mail", + "type": "boolean", + "required": false, + "description": "Boolean indicating if the file can be sent in mail. True allows sending.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_sales_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachFileToSalesOrder", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "sales_order_identifier": { + "value": "SO-1001", + "type": "string", + "required": true + }, + "file_to_attach": { + "value": "/files/sales_orders/SO-1001/invoice.pdf", + "type": "string", + "required": false + }, + "document_file_path": { + "value": "/files/sales_orders/SO-1001/terms.pdf", + "type": "string", + "required": false + }, + "number_of_files": { + "value": 2, + "type": "integer", + "required": false + }, + "document_identifiers": { + "value": "a1b2c3d4e5,f6g7h8i9j0", + "type": "string", + "required": false + }, + "allow_sending_file_in_mail": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "AttachInvoiceFile", + "qualifiedName": "ZohoBooksApi.AttachInvoiceFile", + "fullyQualifiedName": "ZohoBooksApi.AttachInvoiceFile@1.0.0", + "description": "Attach a file to a specified invoice.\n\nUse this tool to attach a file to a specific invoice using its ID. It is useful for adding documents related to the invoice.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice attachment is being added. This is required to identify the specific organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the invoice to attach the file to.", + "enum": null, + "inferrable": true + }, + { + "name": "file_to_attach", + "type": "string", + "required": false, + "description": "The file to be attached. Allowed extensions: gif, png, jpeg, jpg, bmp, pdf.", + "enum": null, + "inferrable": true + }, + { + "name": "send_attachment_in_email", + "type": "boolean", + "required": false, + "description": "Set to True to send the attachment with the invoice when emailed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.AttachInvoiceFile", + "parameters": { + "organization_identifier": { + "value": "org_123456789", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "file_to_attach": { + "value": "contract_signed.pdf", + "type": "string", + "required": false + }, + "send_attachment_in_email": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "BulkDeleteCustomerPayments", + "qualifiedName": "ZohoBooksApi.BulkDeleteCustomerPayments", + "fullyQualifiedName": "ZohoBooksApi.BulkDeleteCustomerPayments@1.0.0", + "description": "Delete multiple customer payments efficiently.\n\nUse this tool to remove several customer payments at once in Zoho Books. It's ideal for managing large-scale payment data cleanup.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier string for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_ids_to_delete", + "type": "string", + "required": true, + "description": "Comma-separated list of payment IDs to be deleted in the bulk operation.", + "enum": null, + "inferrable": true + }, + { + "name": "perform_bulk_delete", + "type": "boolean", + "required": true, + "description": "Set to true to perform the bulk delete operation for customer payments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_delete_customer_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.BulkDeleteCustomerPayments", + "parameters": { + "organization_id": { + "value": "600123456789012345", + "type": "string", + "required": true + }, + "payment_ids_to_delete": { + "value": "2000000000001,2000000000002,2000000000003", + "type": "string", + "required": true + }, + "perform_bulk_delete": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CancelFixedAsset", + "qualifiedName": "ZohoBooksApi.CancelFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.CancelFixedAsset@1.0.0", + "description": "Cancel a fixed asset in Zoho Books.\n\nUse this tool to cancel a fixed asset in Zoho Books by providing the fixed asset ID. This changes the status of the asset to canceled.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required to specify which organization's fixed asset to cancel.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_id", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset to be canceled.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_fixed_asset_cancel'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CancelFixedAsset", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "fixed_asset_id": { + "value": "FA-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CancelPurchaseOrder", + "qualifiedName": "ZohoBooksApi.CancelPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.CancelPurchaseOrder@1.0.0", + "description": "Cancel a specific purchase order in Zoho Books.\n\nUse this tool to mark a purchase order as cancelled within the Zoho Books platform. This is useful when an order needs to be invalidated or stopped.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The identifier for the organization in Zoho Books. This ID is required to specify which organization's purchase order should be cancelled.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "The unique identifier of the purchase order to be cancelled.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_purchase_order_cancelled'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CancelPurchaseOrder", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CancelWriteOffInvoice", + "qualifiedName": "ZohoBooksApi.CancelWriteOffInvoice", + "fullyQualifiedName": "ZohoBooksApi.CancelWriteOffInvoice@1.0.0", + "description": "Cancel the write-off amount of an invoice in Zoho Books.\n\nUse this tool to revert the write-off process of an invoice in Zoho Books. This action can be performed when an invoice's write-off needs to be canceled, typically to amend financial records or correct a mistake.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books whose invoice write-off is to be canceled.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the invoice whose write-off is to be canceled.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'cancel_write_off_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CancelWriteOffInvoice", + "parameters": { + "organization_id": { + "value": "1012345678", + "type": "string", + "required": true + }, + "invoice_unique_identifier": { + "value": "INV-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeBankTransaction", + "qualifiedName": "ZohoBooksApi.CategorizeBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.CategorizeBankTransaction@1.0.0", + "description": "Categorize an uncategorized bank transaction.\n\n This tool categorizes an uncategorized bank transaction by creating a new transaction. Use it when a bank transaction needs to be classified into a specific category.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "Provide the ID of the organization to categorize the transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to be categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeBankTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "600123456", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "BTX-2026-000987", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"transaction\":{\"date\":\"2026-02-10\",\"amount\":150.00,\"description\":\"Office supplies purchase\",\"account_id\":\"1234567890\",\"contact_id\":\"9876543210\",\"category_id\":\"4567890123\",\"notes\":\"Categorized from bank feed as office supplies\",\"reference_number\":\"BTX-2026-002\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeBankTransactionAsExpense", + "qualifiedName": "ZohoBooksApi.CategorizeBankTransactionAsExpense", + "fullyQualifiedName": "ZohoBooksApi.CategorizeBankTransactionAsExpense@1.0.0", + "description": "Categorize an uncategorized bank transaction as an expense.\n\n Use this tool to classify an uncategorized bank transaction as an expense in Zoho Books. It should be called when a user needs to organize their financial records by assigning a transaction to the expense category.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required to identify which organization's transaction is being categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier for the bank transaction to be categorized as an expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_document", + "type": "string", + "required": false, + "description": "Document file to attach with the transaction as a string (e.g., base64 encoded or URL). Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_number_of_files", + "type": "integer", + "required": false, + "description": "Total count of files to be attached to the transaction. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "document_identifiers", + "type": "integer", + "required": false, + "description": "Comma-separated list of document IDs to be attached to the transaction. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction_as_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeBankTransactionAsExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "9876543210", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "BTX-20260218-001", + "type": "string", + "required": false + }, + "attachment_document": { + "value": "https://storage.example.com/receipts/receipt-20260218-001.pdf", + "type": "string", + "required": false + }, + "total_number_of_files": { + "value": 1, + "type": "integer", + "required": false + }, + "document_identifiers": { + "value": "1001,1002", + "type": "integer", + "required": false + }, + "request_body": { + "value": "{\"expense_account_id\":\"EXP-123\",\"amount\":150.75,\"transaction_date\":\"2026-02-18\",\"description\":\"Office supplies purchase\",\"reference_number\":\"REF-20260218-01\",\"vendor_id\":\"VEND-456\",\"tax_id\":\"TAX-789\",\"account_id\":\"ACC-001\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeBankTransactionPaymentRefund", + "qualifiedName": "ZohoBooksApi.CategorizeBankTransactionPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.CategorizeBankTransactionPaymentRefund@1.0.0", + "description": "Categorize bank transactions as payment refunds.\n\n Use this tool to categorize uncategorized bank transactions specifically as payment refunds in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_statement_line_id", + "type": "string", + "required": false, + "description": "Unique identifier for the bank statement line to be categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction_as_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeBankTransactionPaymentRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bank_statement_line_id": { + "value": "BSL_00001234", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"transaction_type\":\"payment_refund\",\"refund\":{\"refund_account_id\":\"ACC987654321\",\"amount\":150.00,\"currency_code\":\"USD\",\"refund_date\":\"2026-02-01\",\"reference_number\":\"RFND-20260201-001\",\"notes\":\"Refund to customer for returned goods\",\"customer_id\":\"CUST12345\",\"original_payment_id\":\"PAY-67890\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeRefundVendorCredit", + "qualifiedName": "ZohoBooksApi.CategorizeRefundVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.CategorizeRefundVendorCredit@1.0.0", + "description": "Categorize transactions as vendor credit refunds.\n\n Use this tool to categorize an uncategorized transaction as a refund from a vendor credit in Zoho Books. Call this tool when you need to identify and organize transactions involving vendor credit refunds.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Specify the ID of the organization for which the transaction is being categorized as a vendor credit refund. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to categorize as a vendor credit refund. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_as_vendor_credit_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeRefundVendorCredit", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "BTX-00098765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_credit_id\":\"VC-2026-0001\",\"vendor_id\":\"VEND-54321\",\"refund_amount\":150.00,\"refund_date\":\"2026-02-15\",\"notes\":\"Refund applied to bank transaction BTX-00098765\",\"account_id\":\"BANK-ACC-001\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeTransactionAsPayment", + "qualifiedName": "ZohoBooksApi.CategorizeTransactionAsPayment", + "fullyQualifiedName": "ZohoBooksApi.CategorizeTransactionAsPayment@1.0.0", + "description": "Categorize an uncategorized transaction as a Customer Payment.\n\n Use this tool to categorize an uncategorized bank transaction as a Customer Payment in Zoho Books. This should be called when you need to update the categorization status of bank transactions.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books for which the transaction is being categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to be categorized as Customer Payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction_as_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeTransactionAsPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "bt_20260218001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"customer_payment\":{\"customer_id\":\"cust_78910\",\"date\":\"2026-02-15\",\"amount\":1500.00,\"bank_account_id\":\"ba_445566\",\"reference_number\":\"PMT-20260215-01\",\"description\":\"Categorized from bank feed as customer payment\",\"apply_to_invoices\":[{\"invoice_id\":\"inv_1001\",\"amount\":1500.00}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeTransactionAsRefund", + "qualifiedName": "ZohoBooksApi.CategorizeTransactionAsRefund", + "fullyQualifiedName": "ZohoBooksApi.CategorizeTransactionAsRefund@1.0.0", + "description": "Categorize a transaction as a credit note refund.\n\n Use this tool to categorize an uncategorized bank transaction specifically as a refund from a credit note.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Must match the organization in Zoho Books to categorize transactions accurately. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to categorize as a refund from a credit note. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_as_credit_note_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeTransactionAsRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "667788990", + "type": "string", + "required": false + }, + "transaction_id": { + "value": "BTX-00012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"creditnote_id\":\"CN-98765\",\"amount\":150.00,\"refund_account_id\":\"AC-54321\",\"refund_date\":\"2026-02-15\",\"notes\":\"Refund applied from credit note CN-98765\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeTransactionAsVendorPayment", + "qualifiedName": "ZohoBooksApi.CategorizeTransactionAsVendorPayment", + "fullyQualifiedName": "ZohoBooksApi.CategorizeTransactionAsVendorPayment@1.0.0", + "description": "Categorize a bank transaction as a vendor payment.\n\n Use this tool to categorize an uncategorized bank transaction as a vendor payment in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique string ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to categorize as vendor payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_bank_transaction_as_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeTransactionAsVendorPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "transaction_id": { + "value": "txn_20260218_001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"payment_date\":\"2026-02-18\",\"amount\":1500.00,\"reference_number\":\"VP-1001\",\"bank_account_id\":\"BA-001\",\"notes\":\"Categorized as vendor payment\",\"bills\":[{\"bill_id\":\"BILL-001\",\"amount_applied\":1000.00},{\"bill_id\":\"BILL-002\",\"amount_applied\":500.00}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CategorizeVendorPaymentRefund", + "qualifiedName": "ZohoBooksApi.CategorizeVendorPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.CategorizeVendorPaymentRefund@1.0.0", + "description": "Categorize bank transactions as Vendor Payment Refund.\n\n Use this tool to categorize uncategorized bank transactions as vendor payment refunds. It should be called when organizing financial data related to refunds from vendors.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization whose transactions are being categorized. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_statement_line_id", + "type": "string", + "required": false, + "description": "Unique identifier for the bank statement line to categorize as Vendor Payment Refund. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'categorize_as_vendor_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CategorizeVendorPaymentRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bank_statement_line_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"VEND-001\",\"amount\":150.75,\"currency_code\":\"USD\",\"date\":\"2026-02-18\",\"reference_number\":\"REF-2026-0001\",\"notes\":\"Refund for returned goods\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CloneProject", + "qualifiedName": "ZohoBooksApi.CloneProject", + "fullyQualifiedName": "ZohoBooksApi.CloneProject@1.0.0", + "description": "Clone an existing project in Zoho Books.\n\n Use this tool to create a copy of an existing project in Zoho Books. It's useful for duplicating project setups with similar parameters or settings.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": false, + "description": "Unique string identifier of the project to be cloned. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'clone_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CloneProject", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "org_987654321", + "type": "string", + "required": false + }, + "project_unique_identifier": { + "value": "proj_abc123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Website Redesign - Copy\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-06-30\",\"clone_tasks\":true,\"clone_milestones\":true,\"billable\":true,\"client_id\":\"client_456\",\"notes\":\"Cloned from proj_abc123\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ConvertCreditNoteToDraft", + "qualifiedName": "ZohoBooksApi.ConvertCreditNoteToDraft", + "fullyQualifiedName": "ZohoBooksApi.ConvertCreditNoteToDraft@1.0.0", + "description": "Convert a voided credit note to a draft status.\n\nUse this tool to change the status of a voided credit note back to draft in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be converted to draft.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_credit_note_draft'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ConvertCreditNoteToDraft", + "parameters": { + "organization_id": { + "value": "77200000000012345", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "420000000000567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ConvertPurchaseOrderToBill", + "qualifiedName": "ZohoBooksApi.ConvertPurchaseOrderToBill", + "fullyQualifiedName": "ZohoBooksApi.ConvertPurchaseOrderToBill@1.0.0", + "description": "Fetch bill payload from purchase orders.\n\nThis tool retrieves the bill payload for selected purchase orders using their IDs. It should be called when you want to convert purchase orders into a bill. After obtaining the payload, use it to create a bill in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Enter the ID of the organization for which the bill will be created.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_ids", + "type": "string", + "required": true, + "description": "Comma-separated IDs of the purchase orders to be converted into a bill.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'convert_purchase_order_to_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ConvertPurchaseOrderToBill", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "purchase_order_ids": { + "value": "1001001,1001002,1001003", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateAssociatedTax", + "qualifiedName": "ZohoBooksApi.CreateAssociatedTax", + "fullyQualifiedName": "ZohoBooksApi.CreateAssociatedTax@1.0.0", + "description": "Create and associate a tax with an item.\n\n This tool creates a tax that can be added to an item within the Zoho Books system. It is used when a new tax needs to be defined and linked to specific goods or services.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books where the tax will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_tax'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateAssociatedTax", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax\":{\"name\":\"Sales Tax\",\"rate\":7.5,\"is_inclusive\":false,\"is_compound\":false,\"is_active\":true,\"item_ids\":[\"987654321\"]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateBankAccount", + "qualifiedName": "ZohoBooksApi.CreateBankAccount", + "fullyQualifiedName": "ZohoBooksApi.CreateBankAccount@1.0.0", + "description": "Create a bank or credit card account in your organization.\n\n This tool is used to create a new bank account or credit card account for your organization via Zoho Books. Call this tool when you need to add financial accounts to manage and track transactions in your organization's accounting system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which to create the bank or credit card account. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_bank_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateBankAccount", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1000000001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"account_name\":\"Operating Account\",\"account_type\":\"bank\",\"bank_name\":\"First National Bank\",\"account_number\":\"1234567890\",\"account_holder_name\":\"Acme Corporation\",\"opening_balance\":25000.00,\"opening_balance_date\":\"2026-01-01\",\"currency_code\":\"USD\",\"description\":\"Primary checking account for day-to-day operations\",\"is_enabled\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateBankTransaction", + "qualifiedName": "ZohoBooksApi.CreateBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.CreateBankTransaction@1.0.0", + "description": "Creates a bank transaction in Zoho Books.\n\n This tool is used to create a bank transaction within Zoho Books. It should be called when a user needs to log a financial transaction using allowed transaction types.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the bank transaction is to be created. This ID helps identify the specific organization within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateBankTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "3778123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"transaction_type\":\"deposit\",\"date\":\"2026-02-18\",\"from_account_id\":\"987654321012345678\",\"to_account_id\":\"123456789012345678\",\"amount\":1500.00,\"currency_code\":\"USD\",\"reference_number\":\"DEP-2026-0001\",\"description\":\"Client payment for February consulting\",\"line_items\":[{\"account_id\":\"5555555555\",\"amount\":1500.00,\"description\":\"Consulting services - Feb 2026\"}],\"exchange_rate\":1.0}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateBusinessContact", + "qualifiedName": "ZohoBooksApi.CreateBusinessContact", + "fullyQualifiedName": "ZohoBooksApi.CreateBusinessContact@1.0.0", + "description": "Create a new business contact with comprehensive details.\n\n Use this tool to create a contact in Zoho Books with information such as name, company details, addresses, and more. This contact can be utilized for various business transactions like invoices and estimates.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the contact is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateBusinessContact", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"contact_name\":\"Acme Supplies LLC\",\"company_name\":\"Acme Supplies\",\"contact_type\":\"vendor\",\"is_customer\":false,\"is_vendor\":true,\"vat_registration_no\":\"VAT-987654321\",\"phone\":\"+1-555-123-4567\",\"mobile\":\"+1-555-765-4321\",\"email\":\"purchasing@acmesupplies.example\",\"website\":\"https://www.acmesupplies.example\",\"currency_id\":\"USD\",\"billing_address\":{\"address\":\"123 Industrial Road\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10001\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"456 Warehouse Ave\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10002\",\"country\":\"USA\"},\"contact_persons\":[{\"first_name\":\"Jane\",\"last_name\":\"Doe\",\"email\":\"jane.doe@acmesupplies.example\",\"phone\":\"+1-555-234-5678\",\"is_primary_contact\":true},{\"first_name\":\"John\",\"last_name\":\"Smith\",\"email\":\"john.smith@acmesupplies.example\",\"phone\":\"+1-555-876-5432\",\"is_primary_contact\":false}],\"notes\":\"Preferred vendor for packaging materials. Net 30 payment terms.\",\"custom_fields\":[{\"label\":\"Account Manager\",\"value\":\"Lara Quinn\"},{\"label\":\"Preferred Delivery\",\"value\":\"Dock 3\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateChartOfAccount", + "qualifiedName": "ZohoBooksApi.CreateChartOfAccount", + "fullyQualifiedName": "ZohoBooksApi.CreateChartOfAccount@1.0.0", + "description": "Creates an account with a specified account type.\n\n This tool is used to create a new account within the chart of accounts by specifying the type of account desired. It is suitable when setting up financial frameworks or managing accounting structures.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the account is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_chart_of_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateChartOfAccount", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1122334455", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"account_name\":\"Example Checking Account\",\"account_type\":\"Bank\",\"account_code\":\"1010\",\"description\":\"Primary checking account for US operations\",\"is_bank_account\":true,\"opening_balance\":2500.00,\"opening_balance_date\":\"2025-01-01\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateContactPerson", + "qualifiedName": "ZohoBooksApi.CreateContactPerson", + "fullyQualifiedName": "ZohoBooksApi.CreateContactPerson@1.0.0", + "description": "Create a contact person for a contact in Zoho Books.\n\n Use this tool to add a new contact person associated with a contact in Zoho Books. It facilitates managing additional contact person details within the platform.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization where the contact person will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_contact_person'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateContactPerson", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"contact_person\": {\"contact_id\": \"987654321\", \"first_name\": \"Jane\", \"last_name\": \"Doe\", \"email\": \"jane.doe@example.com\", \"phone\": \"123-456-7890\", \"mobile\": \"987-654-3210\", \"is_primary_contact\": true, \"designation\": \"Procurement Manager\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCreditNote", + "qualifiedName": "ZohoBooksApi.CreateCreditNote", + "fullyQualifiedName": "ZohoBooksApi.CreateCreditNote@1.0.0", + "description": "Create a new credit note for customer adjustments.\n\n Use this tool to create a credit note when issuing credits to customers for reasons such as returned items, overpayments, or necessary adjustments. It supports multi-currency, custom line items, tax calculations, and workflows.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the credit note is being created. Required for identifying the correct entity within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_id", + "type": "string", + "required": false, + "description": "Invoice ID for the required invoice to associate with the credit note. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "use_custom_credit_note_number", + "type": "boolean", + "required": false, + "description": "Set to true to provide your own credit note number, bypassing auto-numbering. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCreditNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "invoice_id": { + "value": "98765432109876", + "type": "string", + "required": false + }, + "use_custom_credit_note_number": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"creditnote\": {\"customer_id\": \"5432109876\", \"creditnote_number\": \"CN-2026-0001\", \"date\": \"2026-02-15\", \"reference_number\": \"REF-2026-INV-98765432109876\", \"reason\": \"Returned items - incorrect size\", \"invoice_id\": \"98765432109876\", \"currency_code\": \"USD\", \"exchange_rate\": 1.0, \"line_items\": [{\"item_id\": \"1001\", \"name\": \"Blue T-Shirt\", \"description\": \"Size M - returned\", \"rate\": 25.00, \"quantity\": 2, \"tax_id\": \"2001\"}, {\"item_id\": \"1002\", \"name\": \"Shipping Adjustment\", \"description\": \"Refund for shipping overcharge\", \"rate\": 5.00, \"quantity\": 1, \"is_taxable\": false}], \"notes\": \"Processed as per return policy.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCurrency", + "qualifiedName": "ZohoBooksApi.CreateCurrency", + "fullyQualifiedName": "ZohoBooksApi.CreateCurrency@1.0.0", + "description": "Create a currency for transactions in Zoho Books.\n\n Use this tool to add a new currency for use in transactions within Zoho Books. This is useful when expanding the supported currencies for financial activities.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the currency is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_currency'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCurrency", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"currency_code\":\"EUR\",\"currency_name\":\"Euro\",\"currency_symbol\":\"€\",\"decimal_places\":2,\"format\":\"#,##0.00\",\"is_active\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCurrencyAdjustment", + "qualifiedName": "ZohoBooksApi.CreateCurrencyAdjustment", + "fullyQualifiedName": "ZohoBooksApi.CreateCurrencyAdjustment@1.0.0", + "description": "Create a base currency adjustment.\n\n This tool creates an adjustment to the base currency based on the provided information. It is used to update and manage currency values in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required for currency adjustments. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "account_identifiers", + "type": "string", + "required": false, + "description": "Comma-separated IDs of accounts for currency adjustments in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_base_currency_adjustment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCurrencyAdjustment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "account_identifiers": { + "value": "98765,12345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"date\":\"2026-02-18\",\"reason\":\"Monthly base currency revaluation\",\"reference_number\":\"ADJ-2026-02\",\"adjustments\":[{\"account_id\":\"98765\",\"amount\":1500.50,\"from_currency\":\"USD\",\"to_currency\":\"EUR\",\"exchange_rate\":0.92,\"notes\":\"Revaluation for February\"},{\"account_id\":\"12345\",\"amount\":-500.00,\"from_currency\":\"USD\",\"to_currency\":\"EUR\",\"exchange_rate\":0.92,\"notes\":\"Contra-entry for revaluation\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomerDebitNote", + "qualifiedName": "ZohoBooksApi.CreateCustomerDebitNote", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomerDebitNote@1.0.0", + "description": "Create a customer debit note for invoice adjustments.\n\n This tool is used to create a customer debit note when there are additional charges or adjustments needed for an existing invoice in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "A unique identifier for the organization to which the debit note will be associated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_debit_note", + "type": "boolean", + "required": false, + "description": "Set to true to send the debit note to the associated contacts. Accepts true or false. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic debit note number generation, requiring manual entry. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_customer_debit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomerDebitNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "0123456789", + "type": "string", + "required": false + }, + "send_debit_note": { + "value": true, + "type": "boolean", + "required": false + }, + "ignore_auto_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"456789012345\",\"date\":\"2026-02-18\",\"reference_number\":\"DN-2026-001\",\"invoice_id\":\"789012345\",\"line_items\":[{\"item_id\":\"1001\",\"description\":\"Additional service charge\",\"rate\":150.00,\"quantity\":1,\"tax_id\":\"TAX-1\"},{\"item_id\":\"1002\",\"description\":\"Late fee\",\"rate\":25.00,\"quantity\":1,\"tax_id\":\"TAX-2\"}],\"notes\":\"Adjustment for additional services performed after invoicing.\",\"terms\":\"Due upon receipt.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomerEstimate", + "qualifiedName": "ZohoBooksApi.CreateCustomerEstimate", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomerEstimate@1.0.0", + "description": "Create an estimate for a customer using Zoho Books.\n\n Use this tool to generate a new estimate for a customer within the Zoho Books system. This could be useful when users need to provide potential price quotes or service costs to clients.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the estimate is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_estimate_to_contact", + "type": "boolean", + "required": false, + "description": "Set to true to send the estimate to the contact person(s) associated with it, false to skip sending. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_automatic_estimate_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to bypass automatic estimate number generation. This requires specifying an estimate number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomerEstimate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "send_estimate_to_contact": { + "value": true, + "type": "boolean", + "required": false + }, + "ignore_automatic_estimate_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"987654321098765\",\"date\":\"2026-03-01\",\"expiry_date\":\"2026-03-31\",\"estimate_number\":\"EST-2026-1001\",\"reference_number\":\"RF-5566\",\"line_items\":[{\"item_id\":\"111222333\",\"name\":\"Website development\",\"description\":\"Development of corporate website (10 pages)\",\"rate\":2500.00,\"quantity\":1},{\"name\":\"Hosting (annual)\",\"description\":\"Premium hosting package\",\"rate\":120.00,\"quantity\":1}],\"discount\":{\"type\":\"entity_level\",\"value\":5,\"is_percent\":true},\"shipping_charge\":25.00,\"adjustment\":-50.00,\"notes\":\"Estimate valid for 30 days.\",\"terms\":\"Payment due within 30 days of acceptance.\",\"custom_fields\":[{\"label\":\"Project Manager\",\"value\":\"Alice Smith\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomerInvoice", + "qualifiedName": "ZohoBooksApi.CreateCustomerInvoice", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomerInvoice@1.0.0", + "description": "Create an invoice for your customer.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the invoice is created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_invoice_to_contacts", + "type": "boolean", + "required": false, + "description": "Boolean to determine if the invoice is sent to the contact persons. Use 'true' to send, 'false' otherwise. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore auto invoice number generation, requiring manual input. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_quick_create_mode", + "type": "boolean", + "required": false, + "description": "Enable quick create mode for streamlined invoice creation with minimal required fields. Set to true for activation. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_batch_payments", + "type": "boolean", + "required": false, + "description": "Enable batch payment processing for the invoice. True means the invoice is included in batch operations. Requires 'is_quick_create' to be true. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomerInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "726574839", + "type": "string", + "required": false + }, + "send_invoice_to_contacts": { + "value": true, + "type": "boolean", + "required": false + }, + "ignore_auto_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "enable_quick_create_mode": { + "value": true, + "type": "boolean", + "required": false + }, + "enable_batch_payments": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"543210987654321\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-20\",\"reference_number\":\"INV-1001\",\"is_quick_create\":true,\"line_items\":[{\"item_id\":\"1111111111\",\"description\":\"Consulting services\",\"quantity\":10,\"rate\":150.0,\"discount\":0},{\"name\":\"Custom setup fee\",\"description\":\"One-time setup\",\"quantity\":1,\"rate\":250.0}],\"shipping_charge\":20.0,\"adjustment\":0,\"notes\":\"Thank you for your business.\",\"terms\":\"Payment due within 30 days.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomerPayment", + "qualifiedName": "ZohoBooksApi.CreateCustomerPayment", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomerPayment@1.0.0", + "description": "Create a new customer payment in Zoho Books.\n\n Use this tool to record a new payment for a customer in Zoho Books. It should be called when you need to add a payment entry for accounting purposes or to update a customer's payment status.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This is necessary to associate the payment with the correct organization. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomerPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6854321000000123456", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"6854321000000987654\",\"date\":\"2026-02-15\",\"amount\":250.00,\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"BT-20260215-01\",\"account_id\":\"6854321000000555555\",\"description\":\"Payment for invoices INV-1001 and INV-1002\",\"invoice_payments\":[{\"invoice_id\":\"6854321000001111111\",\"amount_applied\":150.00},{\"invoice_id\":\"6854321000002222222\",\"amount_applied\":100.00}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateCustomModule", + "qualifiedName": "ZohoBooksApi.CreateCustomModule", + "fullyQualifiedName": "ZohoBooksApi.CreateCustomModule@1.0.0", + "description": "Creates a custom module in Zoho Books.\n\n Use this tool to create a custom module in Zoho Books. Specify the module name as needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the custom module is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_name", + "type": "string", + "required": false, + "description": "Specify the name for the custom module to be created in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_custom_module'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateCustomModule", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "custom_module_name": { + "value": "Project", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_module\":{\"custom_module_name\":\"Project\",\"plural_label\":\"Projects\",\"singular_label\":\"Project\",\"is_custom_module\":true,\"fields\":[{\"label\":\"Start Date\",\"api_name\":\"start_date\",\"type\":\"date\",\"mandatory\":false},{\"label\":\"Budget\",\"api_name\":\"budget\",\"type\":\"currency\",\"mandatory\":false},{\"label\":\"Description\",\"api_name\":\"description\",\"type\":\"text_area\",\"length\":1000}],\"related_modules\":[{\"module\":\"Contacts\",\"label\":\"Contact\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateEmployeeForExpense", + "qualifiedName": "ZohoBooksApi.CreateEmployeeForExpense", + "fullyQualifiedName": "ZohoBooksApi.CreateEmployeeForExpense@1.0.0", + "description": "Create an employee for an expense record in Zoho Books.\n\n This tool is used to create a new employee entry for the purpose of logging an expense in Zoho Books. It should be called when there is a need to register an employee related to specific expenses.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books where the employee will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_employee'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateEmployeeForExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"employee\":{\"first_name\":\"Jane\",\"last_name\":\"Smith\",\"email\":\"jane.smith@example.com\",\"phone\":\"+14155552671\",\"employee_id\":\"EMP-1001\",\"designation\":\"Field Agent\",\"department\":\"Operations\",\"notes\":\"Created for travel expense tracking\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateExchangeRate", + "qualifiedName": "ZohoBooksApi.CreateExchangeRate", + "fullyQualifiedName": "ZohoBooksApi.CreateExchangeRate@1.0.0", + "description": "Create an exchange rate for a specified currency.\n\n This tool should be called when you need to create a new exchange rate for a specific currency in Zoho Books. It allows you to define exchange rates between specified currencies.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the exchange rate is being created. This must be a unique identifier within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the currency used to create the exchange rate in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_exchange_rate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateExchangeRate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "874563210", + "type": "string", + "required": false + }, + "currency_identifier": { + "value": "INR", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"exchange_rate\": {\"from_currency\": \"USD\", \"to_currency\": \"INR\", \"rate\": 74.15, \"effective_date\": \"2024-02-01\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateExpense", + "qualifiedName": "ZohoBooksApi.CreateExpense", + "fullyQualifiedName": "ZohoBooksApi.CreateExpense@1.0.0", + "description": "Create a billable or non-billable expense record.\n\n Use this tool to create an expense entry that can be marked as billable or non-billable. Ideal for tracking expenses in your financial system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the expense is being recorded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_receipt_file", + "type": "string", + "required": false, + "description": "File path or URL for the expense receipt. Accepted formats: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "expense_receipt_file": { + "value": "https://example.com/receipts/expense-0001.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"expense_account_id\":\"123456789\",\"date\":\"2026-02-15\",\"amount\":150.75,\"description\":\"Travel to client site\",\"billable\":true,\"customer_id\":\"987654321\",\"reference_number\":\"EXP-2026-0001\",\"project_id\":\"55555\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateFinancialAccountRule", + "qualifiedName": "ZohoBooksApi.CreateFinancialAccountRule", + "fullyQualifiedName": "ZohoBooksApi.CreateFinancialAccountRule@1.0.0", + "description": "Create and apply rules for banking and credit accounts.\n\n This tool allows you to create a rule for deposits, withdrawals, refunds, or charges on bank and credit card accounts. It should be called when you need to automate financial processes by setting specific rules for account transactions.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Used to specify which organization's account rules are being altered. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_bank_account_rule'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateFinancialAccountRule", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "600123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Auto Rule - Stripe Refunds\",\"account_id\":\"1234567890123456\",\"transaction_type\":\"refund\",\"direction\":\"deposit\",\"conditions\":[{\"field\":\"description\",\"operator\":\"contains\",\"value\":\"Refund\"},{\"field\":\"amount\",\"operator\":\"greater_than\",\"value\":0}],\"actions\":[{\"type\":\"apply_to_customer\",\"customer_id\":\"9876543210\"},{\"type\":\"categorize\",\"category_name\":\"Refunds\"}],\"enabled\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateFixedAsset", + "qualifiedName": "ZohoBooksApi.CreateFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.CreateFixedAsset@1.0.0", + "description": "Create a fixed asset in Zoho Books.\n\n This tool is used to create a fixed asset in the Zoho Books platform. It should be called when a user wants to register a new fixed asset in their accounting records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books for which the fixed asset is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateFixedAsset", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "369874521", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"asset\": {\"name\": \"Office Laptop - Finance\",\"asset_number\": \"FA-2026-001\",\"asset_code\": \"LAP-001\",\"asset_type\": \"Computer Equipment\",\"purchase_date\": \"2026-01-15\",\"purchase_cost\": 1800.00,\"salvage_value\": 200.00,\"useful_life_in_months\": 36,\"depreciation_method\": \"Straight Line\",\"location\": \"Head Office - 5th Floor\",\"vendor_name\": \"Tech Suppliers Ltd\",\"description\": \"Dell Latitude 5520 for finance manager\",\"asset_account_id\": \"4001001\",\"depreciation_account_id\": \"5002001\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateFixedAssetType", + "qualifiedName": "ZohoBooksApi.CreateFixedAssetType", + "fullyQualifiedName": "ZohoBooksApi.CreateFixedAssetType@1.0.0", + "description": "Create a fixed asset type in Zoho Books.\n\n Use this tool to create a new fixed asset type in Zoho Books whenever you need to categorize assets. It facilitates asset management by defining specific asset categories.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which to create the fixed asset type. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_fixed_asset_type'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateFixedAssetType", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Office Equipment\",\"description\":\"Computers, printers and other office hardware\",\"depreciation_method\":\"straight_line\",\"useful_life_years\":5,\"salvage_value\":50.00,\"is_active\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateInvoiceFromSalesOrder", + "qualifiedName": "ZohoBooksApi.CreateInvoiceFromSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.CreateInvoiceFromSalesOrder@1.0.0", + "description": "Create an invoice from a confirmed sales order.\n\nUse this tool to instantly generate an invoice based on confirmed sales orders. Ideal for automating billing processes directly from sales orders.", + "parameters": [ + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "The unique identifier of the confirmed sales order to create an invoice for.", + "enum": null, + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice is being created. This must be a valid string ID.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_invoice_from_salesorder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateInvoiceFromSalesOrder", + "parameters": { + "sales_order_id": { + "value": "SO-2026-0001", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateJournalEntry", + "qualifiedName": "ZohoBooksApi.CreateJournalEntry", + "fullyQualifiedName": "ZohoBooksApi.CreateJournalEntry@1.0.0", + "description": "Create a journal entry in Zoho Books.\n\n Use this tool to add a new journal entry in Zoho Books. It should be called when there's a need to record financial transactions manually.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_journal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateJournalEntry", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"journal_entries\":[{\"date\":\"2026-02-15\",\"reference_number\":\"JE-2026-0001\",\"notes\":\"Manual adjustment for supplier rebate\",\"line_items\":[{\"account_id\":\"4000000000001\",\"debit_or_credit\":\"debit\",\"amount\":1500.00,\"description\":\"Expense adjustment\"},{\"account_id\":\"2000000000002\",\"debit_or_credit\":\"credit\",\"amount\":1500.00,\"description\":\"Payable adjustment\"}],\"currency_id\":\"USD\"}],\"is_round_off_adjustment\":false}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateNewZohoItem", + "qualifiedName": "ZohoBooksApi.CreateNewZohoItem", + "fullyQualifiedName": "ZohoBooksApi.CreateNewZohoItem@1.0.0", + "description": "Create a new item in Zoho Books inventory.\n\n Use this tool to create a new item in Zoho Books. This is useful for adding products or services to your Zoho inventory for tracking purposes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateNewZohoItem", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Wireless Mouse\",\"sku\":\"WM-1001\",\"description\":\"Ergonomic wireless mouse with USB receiver\",\"rate\":25.99,\"purchase_rate\":15.00,\"unit\":\"pcs\",\"initial_stock\":150,\"initial_stock_rate\":25.99,\"is_taxable\":true,\"product_type\":\"goods\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateOpeningBalance", + "qualifiedName": "ZohoBooksApi.CreateOpeningBalance", + "fullyQualifiedName": "ZohoBooksApi.CreateOpeningBalance@1.0.0", + "description": "Creates an opening balance for accounts.\n\n Use this tool to create an opening balance with specified account information in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the opening balance is being created. This ID is required to specify the target organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_opening_balance'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateOpeningBalance", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"account_id\":\"1234567890\",\"account_name\":\"Cash Account\",\"opening_balance_date\":\"2023-04-01\",\"opening_balance\":5000.00,\"currency_code\":\"USD\",\"is_debit\":true,\"notes\":\"Opening balance for fiscal year 2023-24\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateOrganizationInZohoBooks", + "qualifiedName": "ZohoBooksApi.CreateOrganizationInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.CreateOrganizationInZohoBooks@1.0.0", + "description": "Create a new organization in Zoho Books.\n\n Use this tool to create a new organization in the Zoho Books platform. It is called when there's a need to add organizational details to Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to be created in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_organization'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateOrganizationInZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "org_1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"organization_name\":\"Acme Consulting LLC\",\"company_display_name\":\"Acme Consulting\",\"country\":\"US\",\"currency_code\":\"USD\",\"time_zone\":\"America/New_York\",\"start_financial_year\":\"2026-01-01\",\"industry\":\"Consulting\",\"phone\":\"+1-202-555-0153\",\"email\":\"finance@acmeconsulting.com\",\"website\":\"https://www.acmeconsulting.com\",\"address\":{\"street\":\"123 Main St\",\"city\":\"Washington\",\"state\":\"DC\",\"zip\":\"20001\",\"country\":\"US\"},\"tax_registration_number\":\"12-3456789\",\"fiscal_year_start_month\":\"January\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateOrganizationUser", + "qualifiedName": "ZohoBooksApi.CreateOrganizationUser", + "fullyQualifiedName": "ZohoBooksApi.CreateOrganizationUser@1.0.0", + "description": "Create a user for your organization in Zoho Books.\n\n This tool facilitates the creation of a new user within your organization using Zoho Books' services. It should be called when you need to register a new user in your organization's Zoho Books account.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books where the user will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateOrganizationUser", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"user\":{\"first_name\":\"Jane\",\"last_name\":\"Smith\",\"email\":\"jane.smith+books@example.com\",\"role\":\"User\",\"is_admin\":false,\"send_invite\":true,\"phone\":\"415-555-0132\",\"language\":\"en_US\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateProject", + "qualifiedName": "ZohoBooksApi.CreateProject", + "fullyQualifiedName": "ZohoBooksApi.CreateProject@1.0.0", + "description": "Create a new project in Zoho Books.\n\n This tool facilitates the creation of a new project within Zoho Books. It should be called when there's a need to start a new project and integrate it into the Zoho Books system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization in Zoho Books. Required for project creation. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateProject", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"project\":{\"name\":\"Website Redesign\",\"customer_id\":\"987654321\",\"owner_id\":\"1122334455\",\"start_date\":\"2026-02-01\",\"end_date\":\"2026-05-31\",\"description\":\"Revamp corporate website for improved UX and mobile responsiveness.\",\"billing_type\":\"Fixed Cost\",\"estimated_hours\":200,\"budget_hours\":220,\"hourly_rate\":150.00,\"status\":\"open\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateRecurringBill", + "qualifiedName": "ZohoBooksApi.CreateRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.CreateRecurringBill@1.0.0", + "description": "Create a recurring bill in Zoho Books.\n\n This tool creates a recurring bill in Zoho Books. Use it to automate periodic billing tasks and ensure payments are scheduled consistently.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books for which the recurring bill will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateRecurringBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"date\":\"2026-03-01\",\"reference_number\":\"RB-1001\",\"line_items\":[{\"item_id\":\"112233\",\"description\":\"Monthly subscription\",\"rate\":49.99,\"quantity\":1,\"account_id\":\"445566\",\"tax_id\":\"778899\"}],\"currency_code\":\"USD\",\"exchange_rate\":1.0,\"recurring_frequency\":1,\"recurring_period\":\"monthly\",\"start_date\":\"2026-03-01\",\"end_date\":\"2027-02-28\",\"auto_send\":true,\"notes\":\"Automated recurring bill for subscription services\",\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Website Redesign\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateRecurringExpense", + "qualifiedName": "ZohoBooksApi.CreateRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.CreateRecurringExpense@1.0.0", + "description": "Create a recurring expense in Zoho Books.\n\n Use this tool to create a recurring expense in Zoho Books. It allows you to automate expense tracking by setting expenses to recur at specified intervals.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This ID is necessary to specify which organization's records to create the recurring expense under. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateRecurringExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6723456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"recurring_expense\":{\"vendor_id\":\"9854321\",\"reference_number\":\"RE-1001\",\"recurrence_name\":\"Monthly SaaS Subscription\",\"repeat_every\":1,\"repeat_unit\":\"months\",\"start_date\":\"2026-03-01\",\"end_date\":\"2027-02-28\",\"expense_items\":[{\"account_id\":\"3122334\",\"amount\":150.00,\"description\":\"Project management tool subscription\"}],\"notes\":\"Automated monthly subscription expense\",\"currency_code\":\"USD\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateRecurringInvoice", + "qualifiedName": "ZohoBooksApi.CreateRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.CreateRecurringInvoice@1.0.0", + "description": "Create a new recurring invoice in Zoho Books.\n\n This tool creates a new recurring invoice within Zoho Books. Use this tool when you need to automate the billing of customers on a regular schedule. It returns the details of the invoice created, enabling tracking and management of recurring payments.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the recurring invoice is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateRecurringInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "600012345678901234", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"123456789012345\",\"invoice_number\":\"REC-2026-001\",\"reference_number\":\"REF-1001\",\"date\":\"2026-03-01\",\"due_date\":\"2026-03-15\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Website Hosting\",\"description\":\"Monthly hosting plan\",\"rate\":100.00,\"quantity\":1,\"discount\":0,\"tax_id\":\"1111111111\"},{\"item_id\":\"987654322\",\"name\":\"Domain Renewal\",\"description\":\"Annual domain renewal (prorated monthly)\",\"rate\":12.00,\"quantity\":1,\"discount\":0}],\"recurring_frequency\":\"monthly\",\"recurring_period\":1,\"start_date\":\"2026-03-01\",\"end_date\":\"2027-02-28\",\"send_mail\":true,\"notes\":\"Automated monthly billing\",\"terms\":\"Payment due within 15 days.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateRetainerInvoice", + "qualifiedName": "ZohoBooksApi.CreateRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.CreateRetainerInvoice@1.0.0", + "description": "Create a retainer invoice for a customer.\n\n Use this tool to create a retainer invoice for a customer through Zoho Books. It should be called when you need to generate an invoice requiring advance payment or retaining fees for services or products.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the retainer invoice is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic invoice number generation and manually input the invoice number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateRetainerInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"987654321\",\"retainer_invoice_number\":\"RET-1001\",\"date\":\"2026-02-18\",\"reference_number\":\"PO-4321\",\"line_items\":[{\"item_id\":\"112233\",\"name\":\"Website Retainer\",\"description\":\"Monthly website maintenance retainer\",\"rate\":1500.0,\"quantity\":1,\"tax_id\":\"445566\"}],\"notes\":\"Retainer invoice for monthly support\",\"terms\":\"Payment due upon receipt\",\"exchange_rate\":1.0,\"currency_code\":\"USD\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateSalesOrder", + "qualifiedName": "ZohoBooksApi.CreateSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.CreateSalesOrder@1.0.0", + "description": "Create a sales order for a customer.\n\n This tool creates a sales order for a customer using Zoho Books. It should be called when you need to generate a new sales order in your accounting system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the sales order is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_number_of_files", + "type": "integer", + "required": false, + "description": "Specify the total number of files to be attached to the sales order. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "document_attachment", + "type": "string", + "required": false, + "description": "A document to be attached to the sales order. Provide as a string containing the document details or content. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore auto sales order number generation, requiring manual sales order number entry. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "can_send_via_email", + "type": "boolean", + "required": false, + "description": "Set to true if the file can be sent via email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateSalesOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": false + }, + "total_number_of_files": { + "value": 1, + "type": "integer", + "required": false + }, + "document_attachment": { + "value": "invoice_attachment.pdf;base64,JVBERi0xLjQKJcTl8uXrp/Og0MTGCjEgMCBvYmoK...", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "can_send_via_email": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"1234567890\",\"salesorder_number\":\"SO-1001\",\"date\":\"2026-02-18\",\"expected_delivery_date\":\"2026-03-01\",\"reference_number\":\"REF-2026-001\",\"line_items\":[{\"item_id\":\"98765\",\"description\":\"Wireless keyboard\",\"rate\":45.0,\"quantity\":10,\"discount\":5.0,\"tax_id\":\"TAX-10\"},{\"item_id\":\"98766\",\"description\":\"Wireless mouse\",\"rate\":25.0,\"quantity\":10}],\"billing_address\":{\"address\":\"123 Main St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"shipping_address\":{\"address\":\"Warehouse 9, 500 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\"},\"shipping_charge\":15.0,\"adjustment\":-10.0,\"notes\":\"Deliver during business hours.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateSalesReceipt", + "qualifiedName": "ZohoBooksApi.CreateSalesReceipt", + "fullyQualifiedName": "ZohoBooksApi.CreateSalesReceipt@1.0.0", + "description": "Create a sales receipt for immediate payment transactions.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization needed to create the sales receipt. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic sales receipt number generation, requiring manual entry of the receipt number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_receipt_via_email", + "type": "boolean", + "required": false, + "description": "Set to true to send the sales receipt to the customer via email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateSalesReceipt", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "send_receipt_via_email": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"1234567890123456789\",\"date\":\"2026-02-18\",\"line_items\":[{\"item_id\":\"9876543210987654321\",\"name\":\"Consulting Services\",\"description\":\"Monthly consulting services\",\"rate\":150.00,\"quantity\":2}],\"payment_made\":true,\"payment_account_id\":\"5566778800\",\"payment_mode\":\"Online\",\"notes\":\"Thank you for your business.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateTaxAuthority", + "qualifiedName": "ZohoBooksApi.CreateTaxAuthority", + "fullyQualifiedName": "ZohoBooksApi.CreateTaxAuthority@1.0.0", + "description": "Create a tax authority in Zoho Books.\n\n Use this tool to create a new tax authority in Zoho Books. Suitable for financial administrators managing tax compliance.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the tax authority is to be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_tax_authority'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateTaxAuthority", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_authority\": {\"name\": \"State Tax Authority\", \"code\": \"STA\", \"description\": \"State-level tax authority for sales and use tax\", \"registration_number\": \"TAX-987654321\", \"country\": \"US\", \"status\": \"active\", \"is_default\": false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateTaxExemption", + "qualifiedName": "ZohoBooksApi.CreateTaxExemption", + "fullyQualifiedName": "ZohoBooksApi.CreateTaxExemption@1.0.0", + "description": "Create a tax exemption in Zoho Books.\n\n Use this tool to create a tax exemption in Zoho Books when you need to apply tax exemptions for transactions or customers.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books for which the tax exemption is being created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_tax_exemption'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateTaxExemption", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_exemption\":{\"name\":\"Veteran Exemption\",\"description\":\"Exemption for veteran customers for eligible goods and services\",\"tax_exemption_number\":\"VE-2026-001\",\"status\":\"active\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateTaxGroup", + "qualifiedName": "ZohoBooksApi.CreateTaxGroup", + "fullyQualifiedName": "ZohoBooksApi.CreateTaxGroup@1.0.0", + "description": "Create a tax group with multiple associated taxes.\n\n This tool calls the Zoho Books API to create a tax group, allowing you to associate multiple taxes into a single group. Use this tool when you need to manage and apply tax groups for accounting purposes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization within Zoho Books. This is required to create a tax group. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_tax_group'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateTaxGroup", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6001234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_group\":{\"name\":\"State & Federal Tax Group\",\"taxes\":[{\"tax_id\":\"1122334455\"},{\"tax_id\":\"2233445566\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateVendorBill", + "qualifiedName": "ZohoBooksApi.CreateVendorBill", + "fullyQualifiedName": "ZohoBooksApi.CreateVendorBill@1.0.0", + "description": "Create a bill received from your vendor.\n\n Use this tool to log and manage invoices received from vendors by creating a bill in your system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in which the bill will be created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_file_path", + "type": "string", + "required": false, + "description": "Path to the file to attach. Accepts GIF, PNG, JPEG, JPG, BMP, and PDF formats. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateVendorBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "attachment_file_path": { + "value": "/path/to/attachments/vendor_invoice_550012.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"bill_number\":\"BILL-2026-1001\",\"bill_date\":\"2026-02-15\",\"due_date\":\"2026-03-15\",\"reference_number\":\"PO-550012\",\"currency_id\":\"USD\",\"exchange_rate\":1.0,\"line_items\":[{\"item_id\":\"1001\",\"description\":\"16GB RAM Module\",\"quantity\":2,\"rate\":85.00,\"discount\":0.0,\"tax_id\":\"2001\"},{\"account_id\":\"4001\",\"description\":\"Delivery and handling\",\"quantity\":1,\"rate\":15.00,\"tax_id\":null}],\"shipping_charge\":10.00,\"adjustment\":-5.00,\"notes\":\"Bill for server components and shipping\",\"terms\":\"Payment due in 30 days\",\"attachments\":[{\"name\":\"vendor_invoice_550012.pdf\",\"attachment_url\":\"https://example.com/files/vendor_invoice_550012.pdf\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateVendorCredit", + "qualifiedName": "ZohoBooksApi.CreateVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.CreateVendorCredit@1.0.0", + "description": "Create vendor credit for returns or adjustments.\n\n Use this tool to record new vendor credits for returned items, overpayments, or adjustments. Supports multi-currency, custom line items, taxes, and workflows.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the vendor credit is being created. Must be a valid organization ID. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_id", + "type": "string", + "required": false, + "description": "Identifier of the bill associated with the vendor credit. Required for linking the credit to a specific transaction. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to bypass auto number generation. A vendor credit number becomes mandatory when enabled. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateVendorCredit", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "bill_id": { + "value": "BILL-98765", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_credit\":{\"vendor_id\":\"987654321\",\"vendor_credit_number\":\"VC-2026-0001\",\"date\":\"2026-02-15\",\"reference_number\":\"RET-1001\",\"currency_id\":\"USD\",\"exchange_rate\":1.0,\"line_items\":[{\"item_id\":\"ITEM-111\",\"description\":\"Returned office chairs\",\"quantity\":2,\"rate\":150.00,\"tax_id\":\"TAX-001\",\"item_total\":300.00},{\"description\":\"Restocking fee adjustment\",\"account_id\":\"ACCT-200\",\"rate\":-20.00,\"quantity\":1,\"item_total\":-20.00}],\"notes\":\"Credit issued for returned items and restocking fee.\",\"custom_fields\":[{\"customfield_id\":\"CF_1\",\"value\":\"Return-Order-4321\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateVendorPayment", + "qualifiedName": "ZohoBooksApi.CreateVendorPayment", + "fullyQualifiedName": "ZohoBooksApi.CreateVendorPayment@1.0.0", + "description": "Create and apply a payment to a vendor's bill.\n\n This tool is used to record a payment made to a vendor, with the option to apply the payment either partially or fully to the vendor's outstanding bills.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the vendor payment belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateVendorPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"date\":\"2026-02-18\",\"payment_mode\":\"Cheque\",\"amount\":1500.00,\"reference_number\":\"CHK-2026-0001\",\"account_id\":\"1122334455\",\"description\":\"Payment for February bills\",\"apply_to_bills\":[{\"bill_id\":\"BILL-1001\",\"amount_applied\":1000.00},{\"bill_id\":\"BILL-1002\",\"amount_applied\":500.00}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateVendorPurchaseOrder", + "qualifiedName": "ZohoBooksApi.CreateVendorPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.CreateVendorPurchaseOrder@1.0.0", + "description": "Generate a purchase order for a vendor.\n\n Use this tool to create a purchase order for a vendor in Zoho Books. It facilitates procurement by initiating an order with specified vendor details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books for which the purchase order is being created. Required to specify the target organization. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "file_attachment", + "type": "string", + "required": false, + "description": "File path or URL to attach. Allowed extensions: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to disable automatic purchase order number generation, requiring a manual number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateVendorPurchaseOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "file_attachment": { + "value": "https://example.com/po-attachment.pdf", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"purchaseorder_number\":\"PO-2026-001\",\"date\":\"2026-02-18\",\"due_date\":\"2026-03-04\",\"shipping_charge\":15.0,\"adjustment\":0.0,\"terms\":\"Net 14\",\"line_items\":[{\"item_id\":\"1001\",\"name\":\"Widget A\",\"description\":\"High quality widget\",\"rate\":25.0,\"quantity\":10,\"tax_id\":\"2001\"},{\"name\":\"Custom Service\",\"description\":\"Installation service\",\"rate\":150.0,\"quantity\":1}],\"notes\":\"Please deliver between 9am-5pm.\",\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Alpha\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreateZohoBookLocation", + "qualifiedName": "ZohoBooksApi.CreateZohoBookLocation", + "fullyQualifiedName": "ZohoBooksApi.CreateZohoBookLocation@1.0.0", + "description": "Create a new location in Zoho Books.\n\n Use this tool to create a new business location within Zoho Books. It handles the setup of location data, allowing integration of new physical or digital locations into the Zoho Books system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the location is being created in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_location'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreateZohoBookLocation", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "3690123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Main Warehouse\",\"phone\":\"+1-555-123-4567\",\"email\":\"warehouse@example.com\",\"address\":{\"street\":\"123 Main St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"is_primary\":true,\"notes\":\"Primary fulfillment center\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CreditNoteRefundListing", + "qualifiedName": "ZohoBooksApi.CreditNoteRefundListing", + "fullyQualifiedName": "ZohoBooksApi.CreditNoteRefundListing@1.0.0", + "description": "Retrieve a paginated list of credit note refunds.\n\nUse this tool to get a list of all credit note refunds, including pagination information for navigating through large sets of data.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Use this to specify which organization's credit note refunds to list.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_identifier", + "type": "string", + "required": false, + "description": "ID of the customer for whom the credit note is raised. Provide to filter refunds by customer.", + "enum": null, + "inferrable": true + }, + { + "name": "refunds_sort_column", + "type": "string", + "required": false, + "description": "Specifies the attribute to sort the credit note refunds. Use values like 'refund_mode', 'reference_number', 'date', 'creditnote_number', 'customer_name', 'amount_bcy', or 'amount_fcy'.", + "enum": null, + "inferrable": true + }, + { + "name": "pagination_page_number", + "type": "integer", + "required": false, + "description": "Page number for pagination to specify which page of results to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to display per page in the paginated results. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_note_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CreditNoteRefundListing", + "parameters": { + "organization_id": { + "value": "ORG67890", + "type": "string", + "required": true + }, + "customer_identifier": { + "value": "CUST12345", + "type": "string", + "required": false + }, + "refunds_sort_column": { + "value": "date", + "type": "string", + "required": false + }, + "pagination_page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "CrmToBooksContactImport", + "qualifiedName": "ZohoBooksApi.CrmToBooksContactImport", + "fullyQualifiedName": "ZohoBooksApi.CrmToBooksContactImport@1.0.0", + "description": "Import a customer from Zoho CRM to Zoho Books using CRM contact ID.\n\nUse this tool when you need to import a customer from Zoho CRM to Zoho Books based on their CRM contact ID. Ensure that Zoho Books is integrated with Zoho CRM using the correct sync settings for contacts.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "zoho_crm_contact_id", + "type": "string", + "required": true, + "description": "Unique identifier for the Zoho CRM contact to import into Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'import_customer_using_crm_contact_id'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.CrmToBooksContactImport", + "parameters": { + "organization_id": { + "value": "6000000000000001234", + "type": "string", + "required": true + }, + "zoho_crm_contact_id": { + "value": "3477061000000123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeactivateBankAccount", + "qualifiedName": "ZohoBooksApi.DeactivateBankAccount", + "fullyQualifiedName": "ZohoBooksApi.DeactivateBankAccount@1.0.0", + "description": "Deactivate a bank account in Zoho Books.\n\nUse this tool to mark a bank account as inactive in Zoho Books. This can be useful when an account is no longer in use and should be temporarily disabled.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books. This is required to identify which organization's bank account to deactivate.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account to deactivate in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_bank_account_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeactivateBankAccount", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": "BA_987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeactivateChartOfAccount", + "qualifiedName": "ZohoBooksApi.DeactivateChartOfAccount", + "fullyQualifiedName": "ZohoBooksApi.DeactivateChartOfAccount@1.0.0", + "description": "Deactivate a specific chart of account.\n\nUse this tool to mark a specific chart of account as inactive in Zoho Books. This is helpful when you need to manage account statuses and ensure they reflect current business requirements.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to deactivate the chart of account for.", + "enum": null, + "inferrable": true + }, + { + "name": "account_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the account to be deactivated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_chart_of_account_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeactivateChartOfAccount", + "parameters": { + "organization_identifier": { + "value": "670123456789", + "type": "string", + "required": true + }, + "account_identifier": { + "value": "834567890123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeactivateProject", + "qualifiedName": "ZohoBooksApi.DeactivateProject", + "fullyQualifiedName": "ZohoBooksApi.DeactivateProject@1.0.0", + "description": "Deactivate a project in Zoho Books.\n\nUse this tool to mark a project as inactive in Zoho Books when it is no longer active or needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required for identifying the organization for the project update.", + "enum": null, + "inferrable": true + }, + { + "name": "project_id", + "type": "string", + "required": true, + "description": "The unique identifier of the project to be marked as inactive.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_project_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeactivateProject", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "project_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeactivateUserAccount", + "qualifiedName": "ZohoBooksApi.DeactivateUserAccount", + "fullyQualifiedName": "ZohoBooksApi.DeactivateUserAccount@1.0.0", + "description": "Deactivate a user's account in Zoho Books.\n\nUse this tool to mark an active user as inactive within Zoho Books. It is useful when needing to revoke access or deactivate an account.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization within Zoho Books to which the user belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "user_unique_identifier", + "type": "string", + "required": true, + "description": "Provide the unique identifier of the user to be deactivated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_user_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeactivateUserAccount", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "user_unique_identifier": { + "value": "5f8d7c3a-1b2e-4d9f-8a9b-0123456789ab", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeclineEstimate", + "qualifiedName": "ZohoBooksApi.DeclineEstimate", + "fullyQualifiedName": "ZohoBooksApi.DeclineEstimate@1.0.0", + "description": "Marks a sent estimate as declined if rejected by customer.\n\nUse this tool to update the status of an estimate to 'declined' when a customer has rejected it. This is helpful in maintaining accurate records of customer interactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which the estimate is being declined.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the estimate to mark as declined.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_estimate_declined'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeclineEstimate", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteAccount", + "qualifiedName": "ZohoBooksApi.DeleteAccount", + "fullyQualifiedName": "ZohoBooksApi.DeleteAccount@1.0.0", + "description": "Delete a chart of account in Zoho Books.\n\nUse this tool to delete an existing chart of account. Note that accounts associated with transactions or products cannot be deleted.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "account_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the account to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_chart_of_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteAccount", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "account_identifier": { + "value": "409000000123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteAssetComment", + "qualifiedName": "ZohoBooksApi.DeleteAssetComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteAssetComment@1.0.0", + "description": "Delete a comment from a fixed asset in Zoho Books.\n\nUse this tool to delete an existing comment on a fixed asset within Zoho Books by specifying the fixed asset and comment IDs.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization to specify which organization's asset comment you want to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the fixed asset to delete a comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted from the fixed asset.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_fixed_asset_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteAssetComment", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-98765", + "type": "string", + "required": true + }, + "comment_id": { + "value": "CMT-54321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBankAccount", + "qualifiedName": "ZohoBooksApi.DeleteBankAccount", + "fullyQualifiedName": "ZohoBooksApi.DeleteBankAccount@1.0.0", + "description": "Delete a bank account from your organization.\n\nUse this tool to permanently delete a bank account associated with your organization in Zoho Books. This should be called when you need to remove an account to prevent future transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to identify which organization's bank account is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bank_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBankAccount", + "parameters": { + "organization_id": { + "value": "562400000000000123", + "type": "string", + "required": true + }, + "bank_account_unique_id": { + "value": "562400000001234567", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBankAccountRule", + "qualifiedName": "ZohoBooksApi.DeleteBankAccountRule", + "fullyQualifiedName": "ZohoBooksApi.DeleteBankAccountRule@1.0.0", + "description": "Deletes a bank account rule, removing its effect on transactions.\n\nUse this tool to delete a specific bank account rule, making it inapplicable to future transactions.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID representing the organization. Required for identifying the correct account.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_rule_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account rule to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bank_account_rule'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBankAccountRule", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "bank_account_rule_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBankTransaction", + "qualifiedName": "ZohoBooksApi.DeleteBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.DeleteBankTransaction@1.0.0", + "description": "Delete a bank transaction using its ID.\n\nUse this tool to delete a specific bank transaction by providing the transaction ID. Ideal for managing and cleaning up bank account transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Specify the ID of the organization to target for transaction deletion.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier for the bank transaction to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBankTransaction", + "parameters": { + "organization_id": { + "value": "60000012345", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBillAttachment", + "qualifiedName": "ZohoBooksApi.DeleteBillAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeleteBillAttachment@1.0.0", + "description": "Delete the file attached to a specific bill.\n\nThis tool deletes the file attached to a specified bill in Zoho Books. It should be called when there's a need to remove an attachment associated with a bill.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books. This is required to specify which organization's bill attachment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific bill whose attachment is to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bill_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBillAttachment", + "parameters": { + "organization_id": { + "value": "1000123456", + "type": "string", + "required": true + }, + "bill_unique_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBillComment", + "qualifiedName": "ZohoBooksApi.DeleteBillComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteBillComment@1.0.0", + "description": "Delete a specific comment from a bill in Zoho Books.\n\nUse this tool to remove a comment from a specific bill in Zoho Books when the comment is no longer needed or was made in error.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization from which the bill comment will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the bill from which the comment will be deleted. This ID is necessary to specify the correct bill in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bill_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBillComment", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-00098765", + "type": "string", + "required": true + }, + "comment_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteBillPayment", + "qualifiedName": "ZohoBooksApi.DeleteBillPayment", + "fullyQualifiedName": "ZohoBooksApi.DeleteBillPayment@1.0.0", + "description": "Delete a payment made to a bill.\n\nUse this tool to delete an existing payment associated with a bill when necessary. It helps in managing and correcting payment records in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which the bill payment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill payment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bill_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteBillPayment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "bill_payment_identifier": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteContact", + "qualifiedName": "ZohoBooksApi.DeleteContact", + "fullyQualifiedName": "ZohoBooksApi.DeleteContact@1.0.0", + "description": "Delete an existing contact from the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization from which the contact will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteContact", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "c9876543210abcd", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteContactAddress", + "qualifiedName": "ZohoBooksApi.DeleteContactAddress", + "fullyQualifiedName": "ZohoBooksApi.DeleteContactAddress@1.0.0", + "description": "Deletes an additional address of a contact.\n\nThis tool deletes an additional address of a specific contact in Zoho Books when given the contact and address IDs. Use it to manage contact address details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique ID of the organization in Zoho Books required for address deletion.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the contact whose address you want to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "address_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the address to be deleted for the specified contact.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_contact_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteContactAddress", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "contact_unique_id": { + "value": "c_987654321", + "type": "string", + "required": true + }, + "address_identifier": { + "value": "a_123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteContactPerson", + "qualifiedName": "ZohoBooksApi.DeleteContactPerson", + "fullyQualifiedName": "ZohoBooksApi.DeleteContactPerson@1.0.0", + "description": "Delete an existing contact person from the records.\n\nUse this tool to remove a contact person using their unique ID from the records. It should be called when a user's contact details are no longer needed or need to be removed for any reason.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to identify which entity the contact person belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_person_id", + "type": "string", + "required": true, + "description": "Unique identifier for the contact person to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_contact_person'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteContactPerson", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "contact_person_id": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCreditNote", + "qualifiedName": "ZohoBooksApi.DeleteCreditNote", + "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNote@1.0.0", + "description": "Delete an existing credit note using its ID.\n\nUse this tool to delete a specific credit note by providing its unique ID. This action is irreversible.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose credit note you wish to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCreditNote", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCreditNoteComment", + "qualifiedName": "ZohoBooksApi.DeleteCreditNoteComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNoteComment@1.0.0", + "description": "Delete a specific comment from a credit note.\n\nUse this tool to delete a comment from a credit note in Zoho Books. It requires the credit note ID and the comment ID to specify which comment to remove.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required for deleting a credit note comment.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to which the comment belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the comment to be deleted from a credit note.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_credit_note_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCreditNoteComment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "8758390000001", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "5f4d3c2b-1a9e-4f7b-8c6d-0a1b2c3d4e5f", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCreditNoteInvoice", + "qualifiedName": "ZohoBooksApi.DeleteCreditNoteInvoice", + "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNoteInvoice@1.0.0", + "description": "Delete the credits applied to an invoice of a credit note.\n\nUse this tool to remove credits applied to an invoice associated with a credit note, ensuring the invoice record reflects modified credits.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to identify which organization's data is being manipulated.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the credit note to delete its associated invoice credits.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note invoice to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_of_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCreditNoteInvoice", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_unique_id": { + "value": "CN-00012345", + "type": "string", + "required": true + }, + "credit_note_invoice_id": { + "value": "CINV-00098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCreditNoteRefund", + "qualifiedName": "ZohoBooksApi.DeleteCreditNoteRefund", + "fullyQualifiedName": "ZohoBooksApi.DeleteCreditNoteRefund@1.0.0", + "description": "Delete a specific credit note refund by ID.\n\nUse this tool to remove a credit note refund for a given credit note and refund ID when it's no longer needed or was made in error.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to delete a credit note refund.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be refunded.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note refund to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_credit_note_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCreditNoteRefund", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-1001", + "type": "string", + "required": true + }, + "credit_note_refund_id": { + "value": "RFD-2002", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCurrencyAdjustment", + "qualifiedName": "ZohoBooksApi.DeleteCurrencyAdjustment", + "fullyQualifiedName": "ZohoBooksApi.DeleteCurrencyAdjustment@1.0.0", + "description": "Deletes the specified base currency adjustment.\n\nUse this tool to delete a specific base currency adjustment by providing its ID. Useful for managing and updating financial records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization whose currency adjustment you want to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "base_currency_adjustment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the base currency adjustment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_base_currency_adjustment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCurrencyAdjustment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "base_currency_adjustment_id": { + "value": "bca_abcdef123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomerDebitNote", + "qualifiedName": "ZohoBooksApi.DeleteCustomerDebitNote", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomerDebitNote@1.0.0", + "description": "Delete an existing customer debit note in Zoho Books.\n\nUse this tool to delete a customer debit note in Zoho Books. Note that debit notes with payments or credit notes applied cannot be deleted.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books. Required to specify which organization's data to access or modify.", + "enum": null, + "inferrable": true + }, + { + "name": "debit_note_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the debit note to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_customer_debit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomerDebitNote", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "debit_note_unique_id": { + "value": "DN-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomerPayment", + "qualifiedName": "ZohoBooksApi.DeleteCustomerPayment", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomerPayment@1.0.0", + "description": "Delete an existing payment for a customer.\n\nUse this tool when you need to delete a specific customer payment by its payment ID. It confirms the removal of the payment record.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose payment is being deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the payment to be deleted. Required to specify which payment record should be removed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomerPayment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "500000000123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomerPaymentRefund", + "qualifiedName": "ZohoBooksApi.DeleteCustomerPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomerPaymentRefund@1.0.0", + "description": "Delete a refund for an existing customer payment.\n\nThis tool should be called when you need to delete a refund associated with an existing customer payment in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the refund deletion is requested.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the customer payment associated with the refund to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "refund_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the refund to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_customer_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomerPaymentRefund", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "customer_payment_identifier": { + "value": "CP-2026-0001", + "type": "string", + "required": true + }, + "refund_identifier": { + "value": "RFND-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomModule", + "qualifiedName": "ZohoBooksApi.DeleteCustomModule", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomModule@1.0.0", + "description": "Deletes a specified custom module in Zoho Books.\n\nThis tool is used to delete a custom module within Zoho Books. It should be called when you need to remove a specific custom module by its name.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": true, + "description": "The name of the custom module to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_custom_module'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomModule", + "parameters": { + "organization_id": { + "value": "600123456789", + "type": "string", + "required": true + }, + "module_name": { + "value": "ProjectTasks", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteCustomModuleRecord", + "qualifiedName": "ZohoBooksApi.DeleteCustomModuleRecord", + "fullyQualifiedName": "ZohoBooksApi.DeleteCustomModuleRecord@1.0.0", + "description": "Delete an individual record from a custom module.\n\nUse this tool to delete specific records from a custom module in Zoho Books. Provide the module name and module ID to identify and remove the desired record.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's module record to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": true, + "description": "Name of the custom module containing the record to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_id", + "type": "integer", + "required": true, + "description": "The unique integer ID of the custom module to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_custom_module_record'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteCustomModuleRecord", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "module_name": { + "value": "ClientContracts", + "type": "string", + "required": true + }, + "custom_module_id": { + "value": 987654, + "type": "integer", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteEmployeeRecord", + "qualifiedName": "ZohoBooksApi.DeleteEmployeeRecord", + "fullyQualifiedName": "ZohoBooksApi.DeleteEmployeeRecord@1.0.0", + "description": "Remove an employee from the records in Zoho Books.\n\nThis tool is used to delete an existing employee in Zoho Books. It should be called when there is a need to permanently remove an employee's record from the system.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to uniquely identify it for employee deletion.", + "enum": null, + "inferrable": true + }, + { + "name": "employee_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the employee to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_employee'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteEmployeeRecord", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "employee_identifier": { + "value": "emp_98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteEstimate", + "qualifiedName": "ZohoBooksApi.DeleteEstimate", + "fullyQualifiedName": "ZohoBooksApi.DeleteEstimate@1.0.0", + "description": "Delete an existing estimate in Zoho Books.\n\nUse this tool to remove an estimate by providing its unique estimate ID in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization where the estimate will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_id", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteEstimate", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "estimate_id": { + "value": "EST-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteEstimateComment", + "qualifiedName": "ZohoBooksApi.DeleteEstimateComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteEstimateComment@1.0.0", + "description": "Delete an estimate comment.\n\nUse this tool to remove a comment from an estimate in Zoho Books. Ideal for cleaning up or managing comments related to estimates.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization where the estimate comment is located.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_unique_id", + "type": "string", + "required": true, + "description": "The unique identifier for the estimate, required to specify which estimate's comment to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_estimate_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteEstimateComment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "estimate_unique_id": { + "value": "EST-2026-0001", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "CMT-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteExchangeRate", + "qualifiedName": "ZohoBooksApi.DeleteExchangeRate", + "fullyQualifiedName": "ZohoBooksApi.DeleteExchangeRate@1.0.0", + "description": "Delete an exchange rate for a specific currency.\n\nUse this tool to delete an exchange rate using the specified currency and exchange rate IDs.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the exchange rate is being deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the currency whose exchange rate is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the exchange rate to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_exchange_rate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteExchangeRate", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "currency_identifier": { + "value": "USD", + "type": "string", + "required": true + }, + "exchange_rate_identifier": { + "value": "exch_987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteExistingBill", + "qualifiedName": "ZohoBooksApi.DeleteExistingBill", + "fullyQualifiedName": "ZohoBooksApi.DeleteExistingBill@1.0.0", + "description": "Deletes an existing bill if no payments are applied.\n\nCall this tool to delete a bill in Zoho Books if the bill has no payments applied. It confirms successful deletion of the bill.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books needed to delete the bill.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the bill you wish to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteExistingBill", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteExpenseEntry", + "qualifiedName": "ZohoBooksApi.DeleteExpenseEntry", + "fullyQualifiedName": "ZohoBooksApi.DeleteExpenseEntry@1.0.0", + "description": "Delete an existing expense entry in Zoho Books.\n\nUse this tool to delete a specific expense entry from Zoho Books when you need to remove an incorrect or unnecessary record.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the expense to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteExpenseEntry", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "expense_identifier": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteExpenseReceipt", + "qualifiedName": "ZohoBooksApi.DeleteExpenseReceipt", + "fullyQualifiedName": "ZohoBooksApi.DeleteExpenseReceipt@1.0.0", + "description": "Deletes the receipt attached to an expense.\n\nUse this tool to remove the receipt associated with a specific expense in Zoho Books, identified by the expense ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which the expense receipt is to be deleted. Ensure it's accurate to target the correct entity.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_id", + "type": "string", + "required": true, + "description": "Unique identifier for the expense whose receipt is to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_expense_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteExpenseReceipt", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "expense_id": { + "value": "987654321012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteFixedAsset", + "qualifiedName": "ZohoBooksApi.DeleteFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.DeleteFixedAsset@1.0.0", + "description": "Delete a specified fixed asset.\n\nUse this tool to delete a fixed asset by providing its ID. This action is irreversible, so ensure you have the correct ID before proceeding.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization from which the fixed asset will be deleted. Ensure this ID corresponds to the correct organization.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the fixed asset to be deleted. This ID is required to specify which asset to remove.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteFixedAsset", + "parameters": { + "organization_id": { + "value": "1000123456", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-2024-000987", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteFixedAssetType", + "qualifiedName": "ZohoBooksApi.DeleteFixedAssetType", + "fullyQualifiedName": "ZohoBooksApi.DeleteFixedAssetType@1.0.0", + "description": "Deletes a specified fixed asset type from the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_type_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset type to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_fixed_asset_type'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteFixedAssetType", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "fixed_asset_type_identifier": { + "value": "fixed_asset_type_001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceAttachment", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceAttachment@1.0.0", + "description": "Delete the file attached to an invoice.\n\nThis tool should be called to delete an attachment from a specified invoice in Zoho Books. Useful for managing or cleaning up invoice files.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice attachment will be deleted. This is required to authenticate and identify the specific organization on Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to delete the attachment from. Must match the invoice's ID in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceAttachment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "1572430000000123001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceComment", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceComment@1.0.0", + "description": "Delete a specific comment from an invoice.\n\nUse this tool to remove a comment from an invoice in Zoho Books. It is useful when a comment is no longer relevant or was added by mistake.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to delete the comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the comment to be deleted from the invoice.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceComment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "cmt-5f2a9b8d-1e7c-4a9b-9cde-1234567890ab", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceDocument", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceDocument", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceDocument@1.0.0", + "description": "Delete a document attached to an invoice.\n\nPermanently removes a document from an invoice in Zoho Books. This tool should be called when there is a need to delete a specific non-system-generated document associated with an invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This is required to specify which organization's invoice document is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_id", + "type": "string", + "required": true, + "description": "The unique identifier of the invoice from which the document will be deleted. This ID is required and must be a valid invoice in the system.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_document_id", + "type": "string", + "required": true, + "description": "The unique ID of the document to be deleted from the invoice.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_document'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceDocument", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "invoice_id": { + "value": "83475910234567", + "type": "string", + "required": true + }, + "invoice_document_id": { + "value": "a1b2c3d4-e5f6-7890-abcd-ef0123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceExpenseReceipt", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceExpenseReceipt", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceExpenseReceipt@1.0.0", + "description": "Delete attached expense receipts from an invoice.\n\nUse this tool to delete expense receipts that are attached to an invoice, specifically those raised from an expense.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization from which the expense receipt will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the expense to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_expense_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceExpenseReceipt", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "expense_identifier": { + "value": "EXP-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoiceInZohoBooks", + "qualifiedName": "ZohoBooksApi.DeleteInvoiceInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoiceInZohoBooks@1.0.0", + "description": "Delete an existing invoice in Zoho Books.\n\nUse this tool to delete an existing invoice in Zoho Books. Note that invoices with payments or credit notes applied cannot be deleted.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice is to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoiceInZohoBooks", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "637182900000987654", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteInvoicePayment", + "qualifiedName": "ZohoBooksApi.DeleteInvoicePayment", + "fullyQualifiedName": "ZohoBooksApi.DeleteInvoicePayment@1.0.0", + "description": "Delete a payment made to an invoice in Zoho Books.\n\nUse this tool to remove a payment record from an invoice in Zoho Books when it was entered incorrectly or is no longer needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books to which the payment belongs. This is required to identify the specific organization for deleting the invoice payment.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to delete the payment from.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice payment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteInvoicePayment", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "invoice_payment_identifier": { + "value": "PAY-2026-009", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteItemInZohoBooks", + "qualifiedName": "ZohoBooksApi.DeleteItemInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.DeleteItemInZohoBooks@1.0.0", + "description": "Delete an item from Zoho Books.\n\nThis tool deletes an item from Zoho Books. It should be called to remove items that are no longer needed, provided they are not part of any transaction.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books from which you wish to delete the item.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the item to be deleted from Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteItemInZohoBooks", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "item_identifier": { + "value": "ITEM-12345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteJournalComment", + "qualifiedName": "ZohoBooksApi.DeleteJournalComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteJournalComment@1.0.0", + "description": "Delete a journal comment in Zoho Books.\n\nUse this tool to delete a specific comment from a journal entry in Zoho Books. It should be called when you need to remove unwanted or incorrect comments from a journal.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's journal comment should be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the journal for which the comment will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_journal_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteJournalComment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "journal_unique_id": { + "value": "JNL-2026-000123", + "type": "string", + "required": true + }, + "comment_id": { + "value": "CMT-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteJournalEntry", + "qualifiedName": "ZohoBooksApi.DeleteJournalEntry", + "fullyQualifiedName": "ZohoBooksApi.DeleteJournalEntry@1.0.0", + "description": "Delete a specific journal entry by ID.\n\nThis tool deletes a journal entry in Zoho Books when provided with the specific journal ID. Use this to remove incorrect or unnecessary journal records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization associated with the journal to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_entry_id", + "type": "string", + "required": true, + "description": "The unique identifier for the journal entry to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_journal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteJournalEntry", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "journal_entry_id": { + "value": "123456789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteLastImportedBankStatement", + "qualifiedName": "ZohoBooksApi.DeleteLastImportedBankStatement", + "fullyQualifiedName": "ZohoBooksApi.DeleteLastImportedBankStatement@1.0.0", + "description": "Delete the last imported bank statement.\n\nUse this tool to delete the most recently imported bank statement from the specified bank account. Useful for correcting errors or removing unnecessary data.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This is required to specify which organization's bank statement needs to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the bank account from which the statement will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_statement_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank statement to be deleted. Required for identifying which statement to remove.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_last_imported_bank_statement'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteLastImportedBankStatement", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "bank_account_unique_identifier": { + "value": "bankacct_00123", + "type": "string", + "required": true + }, + "bank_statement_id": { + "value": "BS20260215_0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteLocation", + "qualifiedName": "ZohoBooksApi.DeleteLocation", + "fullyQualifiedName": "ZohoBooksApi.DeleteLocation@1.0.0", + "description": "Delete a location from the system.\n\nUse this tool to remove a location by specifying its unique identifier in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the location belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "location_id", + "type": "string", + "required": true, + "description": "The unique identifier of the location to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_location'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteLocation", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "location_id": { + "value": "loc_9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteLoggedTimeEntry", + "qualifiedName": "ZohoBooksApi.DeleteLoggedTimeEntry", + "fullyQualifiedName": "ZohoBooksApi.DeleteLoggedTimeEntry@1.0.0", + "description": "Delete a specific logged time entry.\n\nUse this tool to delete a logged time entry from a project by specifying the time entry ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization from which the time entry will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "time_entry_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the logged time entry to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_time_entry'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteLoggedTimeEntry", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "time_entry_identifier": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteMultipleVendorPayments", + "qualifiedName": "ZohoBooksApi.DeleteMultipleVendorPayments", + "fullyQualifiedName": "ZohoBooksApi.DeleteMultipleVendorPayments@1.0.0", + "description": "Delete multiple vendor payments in one action.\n\nUse this tool to delete multiple vendor payments at once, streamlining payment management and cleanup tasks.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization from which the vendor payments are to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_ids", + "type": "string", + "required": true, + "description": "Comma-separated list of vendor payment IDs to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "bulk_delete", + "type": "boolean", + "required": true, + "description": "Set to true to perform bulk deletion of vendor payments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_delete_vendor_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteMultipleVendorPayments", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "vendor_payment_ids": { + "value": "VNDPAY1234,VNDPAY5678,VNDPAY9012", + "type": "string", + "required": true + }, + "bulk_delete": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteOpeningBalance", + "qualifiedName": "ZohoBooksApi.DeleteOpeningBalance", + "fullyQualifiedName": "ZohoBooksApi.DeleteOpeningBalance@1.0.0", + "description": "Delete the entered opening balance in Zoho Books.\n\nUse this tool to remove the existing opening balance from Zoho Books settings when adjustments or corrections are needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose opening balance is to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_opening_balance'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteOpeningBalance", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteProject", + "qualifiedName": "ZohoBooksApi.DeleteProject", + "fullyQualifiedName": "ZohoBooksApi.DeleteProject@1.0.0", + "description": "Deletes an existing project in Zoho Books.\n\nCall this tool to delete an existing project in Zoho Books using the project ID. It confirms the deletion of the specified project.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to identify the organization from which the project will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "project_id", + "type": "string", + "required": true, + "description": "Unique identifier of the project to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteProject", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "project_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteProjectComment", + "qualifiedName": "ZohoBooksApi.DeleteProjectComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteProjectComment@1.0.0", + "description": "Delete a specific comment from a project.\n\nUse this tool to delete a comment from a specified project. Useful when you need to remove unwanted or outdated comments from project discussions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the comment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the project to delete the comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_project_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteProjectComment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "PRJ-1024", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "cmt-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteProjectTask", + "qualifiedName": "ZohoBooksApi.DeleteProjectTask", + "fullyQualifiedName": "ZohoBooksApi.DeleteProjectTask@1.0.0", + "description": "Remove a task from a specific project in Zoho Books.\n\nCall this tool to delete a specified task from a project using Zoho Books API. Use it when you need to manage project tasks and remove any that are no longer relevant.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the task belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the project from which a task will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "task_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the task to be deleted in the project.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_task'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteProjectTask", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "proj_987654321", + "type": "string", + "required": true + }, + "task_identifier": { + "value": "task_1122334455", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeletePurchaseOrder", + "qualifiedName": "ZohoBooksApi.DeletePurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.DeletePurchaseOrder@1.0.0", + "description": "Delete an existing purchase order in Zoho Books.\n\nUse this tool to remove a purchase order by providing its ID. The endpoint confirms the deletion once the operation is successful.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization within Zoho Books. Required to specify which organization's purchase order is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the purchase order to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeletePurchaseOrder", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "purchase_order_identifier": { + "value": "PO-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeletePurchaseOrderAttachment", + "qualifiedName": "ZohoBooksApi.DeletePurchaseOrderAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeletePurchaseOrderAttachment@1.0.0", + "description": "Deletes the attachment from a purchase order.\n\nThis tool is used to delete the file attached to a specified purchase order in Zoho Books, identified by the purchase order ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. This is required to specify which organization's records to access or modify.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to delete the attachment from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_purchase_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeletePurchaseOrderAttachment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeletePurchaseOrderComment", + "qualifiedName": "ZohoBooksApi.DeletePurchaseOrderComment", + "fullyQualifiedName": "ZohoBooksApi.DeletePurchaseOrderComment@1.0.0", + "description": "Delete a comment from a purchase order.\n\nUse this tool to remove a specific comment associated with a purchase order by providing the purchase order ID and the comment ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Provide this to specify which organization's purchase order comment you wish to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to delete the comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted. Required to specify which comment to remove from a purchase order.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_purchase_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeletePurchaseOrderComment", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-987654321", + "type": "string", + "required": true + }, + "comment_unique_identifier": { + "value": "COMMENT-1122334455", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRecurringBill", + "qualifiedName": "ZohoBooksApi.DeleteRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.DeleteRecurringBill@1.0.0", + "description": "Delete an existing recurring bill in Zoho Books.\n\nUse this tool to delete a recurring bill identified by its ID in Zoho Books. This is useful when managing financial records and removing bills that are no longer needed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books to delete a recurring bill from.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the recurring bill to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRecurringBill", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "recurring_bill_identifier": { + "value": "RB-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRecurringExpense", + "qualifiedName": "ZohoBooksApi.DeleteRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.DeleteRecurringExpense@1.0.0", + "description": "Delete an existing recurring expense in Zoho Books.\n\nUse this tool to delete a recurring expense from Zoho Books when it's no longer needed or has been replaced. The tool confirms the successful removal of the specified recurring expense.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": true, + "description": "The unique identifier for the recurring expense to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRecurringExpense", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "recurring_expense_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRecurringInvoice", + "qualifiedName": "ZohoBooksApi.DeleteRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.DeleteRecurringInvoice@1.0.0", + "description": "Delete an existing recurring invoice.\n\nCall this tool to remove a recurring invoice from the system. Ensure you have the correct invoice ID to successfully delete the desired invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the recurring invoice belongs. Required for identifying the correct organization.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring invoice to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRecurringInvoice", + "parameters": { + "organization_id": { + "value": "7450291000001234567", + "type": "string", + "required": true + }, + "recurring_invoice_id": { + "value": "ri_000123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRetainerInvoice", + "qualifiedName": "ZohoBooksApi.DeleteRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.DeleteRetainerInvoice@1.0.0", + "description": "Delete an existing retainer invoice.\n\nUse this tool to delete a retainer invoice. Note that invoices with applied payments or credit notes cannot be deleted.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose retainer invoice you want to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to delete. Required for specifying the invoice to be removed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRetainerInvoice", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "retainer_invoice_identifier": { + "value": "RI-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRetainerInvoiceAttachment", + "qualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceAttachment@1.0.0", + "description": "Delete a file attached to a retainer invoice.\n\nUse this tool to delete a specific file attached to a retainer invoice. Call it when you need to remove an attachment from an invoice in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books whose invoice attachment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to specify which invoice's attachment should be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "document_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice document to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_retainer_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRetainerInvoiceAttachment", + "parameters": { + "organization_id": { + "value": "1000000000001", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "ri_8976543210001", + "type": "string", + "required": true + }, + "document_id": { + "value": "785d3f2a-4b6c-11ec-81d3-0242ac130003", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteRetainerInvoiceComment", + "qualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteRetainerInvoiceComment@1.0.0", + "description": "Remove a specific comment from a retainer invoice.\n\nUse this tool to delete a comment from a retainer invoice in Zoho Books by providing the retainer invoice ID and the comment ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization within Zoho Books for which the comment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to find the specific invoice for comment deletion.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to be deleted from the retainer invoice.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_retainer_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteRetainerInvoiceComment", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "comment_identifier": { + "value": "456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteSalesOrder", + "qualifiedName": "ZohoBooksApi.DeleteSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.DeleteSalesOrder@1.0.0", + "description": "Delete an existing sales order.\n\nUse this tool to delete an existing sales order by its ID. It cannot delete invoiced sales orders.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the sales order will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the sales order to be deleted. Ensure it is not invoiced.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteSalesOrder", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteSalesOrderAttachment", + "qualifiedName": "ZohoBooksApi.DeleteSalesOrderAttachment", + "fullyQualifiedName": "ZohoBooksApi.DeleteSalesOrderAttachment@1.0.0", + "description": "Delete an attached file from a sales order in Zoho Books.\n\nCall this tool to remove an attached file from a specified sales order in Zoho Books. Useful for managing and updating records by deleting unnecessary or outdated attachments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose sales order attachment is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the sales order from which the attachment will be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_sales_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteSalesOrderAttachment", + "parameters": { + "organization_id": { + "value": "8000000000001", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteSalesOrderComment", + "qualifiedName": "ZohoBooksApi.DeleteSalesOrderComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteSalesOrderComment@1.0.0", + "description": "Delete a comment from a sales order in Zoho Books.\n\nUse this tool to remove a comment from a specific sales order in Zoho Books by providing the sales order ID and the comment ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization. This ID is required to specify which organization's sales order comment needs to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to delete the comment from.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the comment to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_sales_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteSalesOrderComment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-987654321", + "type": "string", + "required": true + }, + "comment_identifier": { + "value": "CMT-54321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteSalesReceipt", + "qualifiedName": "ZohoBooksApi.DeleteSalesReceipt", + "fullyQualifiedName": "ZohoBooksApi.DeleteSalesReceipt@1.0.0", + "description": "Delete an existing sales receipt in Zoho Books.\n\nThis tool deletes a specified sales receipt from Zoho Books. It should be used when you need to permanently remove a sales receipt by its ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_receipt_id", + "type": "string", + "required": true, + "description": "The unique identifier for the sales receipt to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteSalesReceipt", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "sales_receipt_id": { + "value": "789012345678901234", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTax", + "qualifiedName": "ZohoBooksApi.DeleteTax", + "fullyQualifiedName": "ZohoBooksApi.DeleteTax@1.0.0", + "description": "Delete a simple or compound tax in Zoho Books.\n\nUse this tool to remove a specific tax, whether simple or compound, from the Zoho Books system. This is useful when managing taxes and ensuring only relevant ones are active.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization within Zoho Books. This is required to specify which organization's tax entry to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the tax to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_tax'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTax", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "tax_identifier": { + "value": "TAX_2026_001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTaxAuthority", + "qualifiedName": "ZohoBooksApi.DeleteTaxAuthority", + "fullyQualifiedName": "ZohoBooksApi.DeleteTaxAuthority@1.0.0", + "description": "Delete a specific tax authority.\n\nUse this tool to delete a tax authority when you need its removal confirmed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to identify which one the tax authority belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_authority_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the tax authority to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_tax_authority'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTaxAuthority", + "parameters": { + "organization_id": { + "value": "76698800000012345", + "type": "string", + "required": true + }, + "tax_authority_identifier": { + "value": "TA-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTaxExemption", + "qualifiedName": "ZohoBooksApi.DeleteTaxExemption", + "fullyQualifiedName": "ZohoBooksApi.DeleteTaxExemption@1.0.0", + "description": "Delete a specific tax exemption from Zoho Books.\n\nUse this tool to delete a tax exemption in Zoho Books when you need to remove a specific exemption entry.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_exemption_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the tax exemption to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_tax_exemption'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTaxExemption", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "tax_exemption_identifier": { + "value": "TXEXEMPT-001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTaxGroup", + "qualifiedName": "ZohoBooksApi.DeleteTaxGroup", + "fullyQualifiedName": "ZohoBooksApi.DeleteTaxGroup@1.0.0", + "description": "Delete a tax group if not associated with transactions.\n\nUse this tool to delete a tax group from Zoho Books. Note that tax groups associated with transactions cannot be deleted.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_group_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the tax group to be deleted. Ensure it's not associated with active transactions to proceed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_tax_group'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTaxGroup", + "parameters": { + "organization_identifier": { + "value": "60000000000000001", + "type": "string", + "required": true + }, + "tax_group_identifier": { + "value": "TG_1029384756", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTimeEntries", + "qualifiedName": "ZohoBooksApi.DeleteTimeEntries", + "fullyQualifiedName": "ZohoBooksApi.DeleteTimeEntries@1.0.0", + "description": "Delete time tracking entries from projects.\n\nUse this tool to delete time entries from projects in Zoho Books. It should be called when you need to remove specific time tracking records.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to identify which entity's time entries will be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_time_entries'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTimeEntries", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteTransaction", + "qualifiedName": "ZohoBooksApi.DeleteTransaction", + "fullyQualifiedName": "ZohoBooksApi.DeleteTransaction@1.0.0", + "description": "Delete a specified accounting transaction.\n\nThis tool is used to delete a specified transaction from the chart of accounts in Zoho Books. Call this tool when you need to remove a transaction permanently.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which the transaction will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the transaction to be deleted in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_chart_of_account_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteTransaction", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "transaction_identifier": { + "value": "TRX-2026-0456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorCredit", + "qualifiedName": "ZohoBooksApi.DeleteVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorCredit@1.0.0", + "description": "Delete a vendor credit by its ID.\n\nUse this tool to delete a specific vendor credit using its unique ID. This is typically required when a vendor credit is no longer valid or was added by mistake.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's vendor credit to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorCredit", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorCreditComment", + "qualifiedName": "ZohoBooksApi.DeleteVendorCreditComment", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorCreditComment@1.0.0", + "description": "Delete a vendor credit comment in Zoho Books.\n\nUse this tool to delete a specific comment from a vendor credit in Zoho Books. This is useful when you need to manage or clean up vendor credit records by removing unnecessary or incorrect comments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit to specify which comment to delete.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit comment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_credit_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorCreditComment", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "vendor_credit_id": { + "value": "VC1002345678", + "type": "string", + "required": true + }, + "comment_id": { + "value": "3456789012", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorCreditRefund", + "qualifiedName": "ZohoBooksApi.DeleteVendorCreditRefund", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorCreditRefund@1.0.0", + "description": "Delete a vendor credit refund in Zoho Books.\n\nUse this tool to delete a specific vendor credit refund in Zoho Books when you have the vendor credit ID and refund ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization to which the vendor credit refund belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit, required to delete the refund.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific vendor credit refund you wish to delete.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_credit_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorCreditRefund", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2026-0001", + "type": "string", + "required": true + }, + "vendor_credit_refund_id": { + "value": "RFD-556789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorPayment", + "qualifiedName": "ZohoBooksApi.DeleteVendorPayment", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorPayment@1.0.0", + "description": "Delete an existing vendor payment in Zoho Books.\n\nUse this tool to delete a specific vendor payment in Zoho Books when you have the payment ID and need to erase it from the records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the vendor payment is to be deleted. This is required to identify the correct organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor payment to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorPayment", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "vendor_payment_id": { + "value": "17456000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DeleteVendorPaymentRefund", + "qualifiedName": "ZohoBooksApi.DeleteVendorPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.DeleteVendorPaymentRefund@1.0.0", + "description": "Delete a refund from an existing vendor payment.\n\nUse this tool to remove a specific refund associated with a vendor payment. It's useful when a refund needs to be retracted or corrected.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization to which the vendor payment refund belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the payment to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor payment refund to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DeleteVendorPaymentRefund", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "PAYMENT-987654321", + "type": "string", + "required": true + }, + "vendor_payment_refund_id": { + "value": "REFUND-12345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DisableContactPaymentReminder", + "qualifiedName": "ZohoBooksApi.DisableContactPaymentReminder", + "fullyQualifiedName": "ZohoBooksApi.DisableContactPaymentReminder@1.0.0", + "description": "Disable automated payment reminders for a contact.\n\nThis tool is used to disable automated payment reminders for a specific contact in Zoho Books. It should be called when you want to stop the system from sending payment reminders to a particular contact.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which payment reminders will be disabled.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact to disable payment reminders for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'disable_contact_payment_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DisableContactPaymentReminder", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "c_98765abc123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "DisableInvoicePaymentReminder", + "qualifiedName": "ZohoBooksApi.DisableInvoicePaymentReminder", + "fullyQualifiedName": "ZohoBooksApi.DisableInvoicePaymentReminder@1.0.0", + "description": "Disable automated payment reminders for an invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's invoice reminders are being disabled.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to disable payment reminders.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'disable_invoice_payment_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.DisableInvoicePaymentReminder", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailContactStatement", + "qualifiedName": "ZohoBooksApi.EmailContactStatement", + "fullyQualifiedName": "ZohoBooksApi.EmailContactStatement@1.0.0", + "description": "Sends an email statement to a specified contact.\n\n This tool triggers an email statement to be sent to a specific contact using Zoho Books. If no JSON input is provided, the email will use default content. Use this tool when you need to send financial statements to clients or contacts.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to send the email statement to a specified contact. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the contact to send the statement to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "statement_start_date", + "type": "string", + "required": false, + "description": "The starting date for the statement in the format [yyyy-mm-dd]. If omitted, the current month will be used. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "statement_end_date", + "type": "string", + "required": false, + "description": "End date for the statement in the format [yyyy-mm-dd]. If not provided, the current month's statement will be sent. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_files", + "type": "string", + "required": false, + "description": "Files to be attached with the statement email, in multipart/form-data format. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_contact_statement'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailContactStatement", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "contact_identifier": { + "value": "C-987654321", + "type": "string", + "required": false + }, + "statement_start_date": { + "value": "2025-10-01", + "type": "string", + "required": false + }, + "statement_end_date": { + "value": "2025-10-31", + "type": "string", + "required": false + }, + "attachment_files": { + "value": "statement_oct_2025.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"October Statement\",\"message\":\"Dear Client, please find attached your statement for October.\",\"send_me_a_copy\":false,\"additional_emails\":[\"accounts@example.com\"],\"attachments\":[\"statement_oct_2025.pdf\"]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailCreditNote", + "qualifiedName": "ZohoBooksApi.EmailCreditNote", + "fullyQualifiedName": "ZohoBooksApi.EmailCreditNote@1.0.0", + "description": "Send a credit note via email.\n\n Use this tool to email a credit note to the intended recipient. It's useful for sending invoice adjustments to clients.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "ID of the organization for which the credit note is being emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_id_for_credit_note", + "type": "string", + "required": false, + "description": "Customer ID for whom the credit note is raised. Used to identify the recipient of the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "The file paths or URLs of files to attach to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailCreditNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "CN1001", + "type": "string", + "required": false + }, + "customer_id_for_credit_note": { + "value": "CUST-789", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "[\"https://files.example.com/creditnote_CN1001.pdf\",\"/var/tmp/terms.pdf\"]", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"to_mail_ids\":[\"client@example.com\"],\"subject\":\"Credit Note CN1001\",\"message\":\"Dear Customer,\\n\\nPlease find the attached credit note for your records.\\n\\nBest regards,\\nYour Company\",\"send_mail\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailRetainerInvoiceToCustomer", + "qualifiedName": "ZohoBooksApi.EmailRetainerInvoiceToCustomer", + "fullyQualifiedName": "ZohoBooksApi.EmailRetainerInvoiceToCustomer@1.0.0", + "description": "Send a retainer invoice to a customer via email.\n\n This tool emails a retainer invoice to the specified customer. If no custom content is provided, the email will use the default content.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "The unique identifier of the retainer invoice to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "List of file paths or URLs for files to attach to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_customer_statement", + "type": "boolean", + "required": false, + "description": "Set to true to send the customer statement PDF with the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attach_invoice_to_email", + "type": "boolean", + "required": false, + "description": "Attach the retainer invoice to the email if true. Accepts a boolean value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailRetainerInvoiceToCustomer", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "[\"https://example.com/terms.pdf\",\"/files/contract.pdf\"]", + "type": "string", + "required": false + }, + "send_customer_statement": { + "value": true, + "type": "boolean", + "required": false + }, + "attach_invoice_to_email": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"Retainer Invoice for Services\",\"body\":\"Hello John, Please find your retainer invoice attached. Contact us with any questions. Best regards, ABC Agency\",\"to_mail_ids\":[\"john.doe@example.com\"],\"cc_mail_ids\":[\"billing@example.com\"],\"bcc_mail_ids\":[],\"send_from_org_email_address\":true,\"custom_fields\":{\"project_id\":\"PROJ-1001\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailSalesOrderToCustomer", + "qualifiedName": "ZohoBooksApi.EmailSalesOrderToCustomer", + "fullyQualifiedName": "ZohoBooksApi.EmailSalesOrderToCustomer@1.0.0", + "description": "Email a sales order to a customer.\n\n Send an email containing the sales order to the customer, with optional custom content. If no content is provided, the default email content will be used.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the sales order is being emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Provide the unique identifier of the sales order to be emailed to the customer. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_attachments", + "type": "string", + "required": false, + "description": "A list of file paths or URLs for attachments to include with the sales order email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "file_name", + "type": "string", + "required": false, + "description": "Specify the name of the file to be attached to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "include_sales_order_attachment", + "type": "boolean", + "required": false, + "description": "Specify true to include the sales order attachment in the email, or false to exclude it. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailSalesOrderToCustomer", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "6543210000001234567", + "type": "string", + "required": false + }, + "sales_order_identifier": { + "value": "SO-1001", + "type": "string", + "required": false + }, + "sales_order_attachments": { + "value": "[\"https://example.com/attachments/terms.pdf\",\"/var/tmp/extra_note.pdf\"]", + "type": "string", + "required": false + }, + "file_name": { + "value": "sales-order-SO-1001.pdf", + "type": "string", + "required": false + }, + "include_sales_order_attachment": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"to_mail_ids\":[\"customer@example.com\"],\"cc_mail_ids\":[\"sales@example.com\"],\"subject\":\"Sales Order SO-1001 from Acme Corp\",\"plain_text\":\"Hello,\\n\\nPlease find attached your sales order SO-1001.\\n\\nBest regards,\\nAcme Corp\",\"is_attach_pdf\":true,\"attachments\":[\"https://example.com/attachments/terms.pdf\"]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EmailSalesReceiptToCustomer", + "qualifiedName": "ZohoBooksApi.EmailSalesReceiptToCustomer", + "fullyQualifiedName": "ZohoBooksApi.EmailSalesReceiptToCustomer@1.0.0", + "description": "Email a sales receipt to the customer.\n\n Use this tool to send a sales receipt via email to a specific customer. It should be called when you need to deliver the sales receipt directly to the customer.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "sales_receipt_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the sales receipt to be emailed to the customer. It must be a string. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "attach_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to send the sales receipt PDF with the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EmailSalesReceiptToCustomer", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "sales_receipt_identifier": { + "value": "SR-2026-0001", + "type": "string", + "required": false + }, + "attach_pdf": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"1234567890\",\"to_mail_ids\":[\"jane.doe@example.com\"],\"subject\":\"Your Sales Receipt from ACME Corp\",\"body\":\"Hi Jane,\\n\\nPlease find your sales receipt attached.\\n\\nRegards,\\nACME Team\",\"send_from_org_email\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EnableContactPortalAccess", + "qualifiedName": "ZohoBooksApi.EnableContactPortalAccess", + "fullyQualifiedName": "ZohoBooksApi.EnableContactPortalAccess@1.0.0", + "description": "Enable portal access for a specified contact in Zoho Books.\n\n Use this tool to enable portal access for a contact in Zoho Books, allowing them to interact with their account through the portal.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization within Zoho Books, required to enable portal access for a contact. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_id", + "type": "string", + "required": false, + "description": "Unique identifier for the specific contact whose portal access is to be enabled. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'enable_contact_portal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EnableContactPortalAccess", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "contact_unique_id": { + "value": "c_0001abcde", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"portal_enabled\": true, \"send_activation_email\": true, \"portal_email\": \"client@example.com\", \"first_name\": \"Alice\", \"last_name\": \"Smith\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EnableOrganizationLocations", + "qualifiedName": "ZohoBooksApi.EnableOrganizationLocations", + "fullyQualifiedName": "ZohoBooksApi.EnableOrganizationLocations@1.0.0", + "description": "Enable locations for an organization in Zoho Books.\n\nUse this tool to enable location settings for an organization in Zoho Books, allowing tracking and management of different locations within the company's account.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which to enable location tracking.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'enable_locations'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EnableOrganizationLocations", + "parameters": { + "organization_id": { + "value": "3471092000000001234", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "EnablePaymentReminder", + "qualifiedName": "ZohoBooksApi.EnablePaymentReminder", + "fullyQualifiedName": "ZohoBooksApi.EnablePaymentReminder@1.0.0", + "description": "Enable automated payment reminders for a contact.\n\nThis tool is used to enable automated payment reminders for a specific contact, improving timely payment handling.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the unique ID of the organization for which to enable payment reminders.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact for whom the payment reminder is enabled.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'enable_contact_payment_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.EnablePaymentReminder", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "C-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExcludeBankTransaction", + "qualifiedName": "ZohoBooksApi.ExcludeBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.ExcludeBankTransaction@1.0.0", + "description": "Exclude a transaction from a bank or credit card account.\n\nUse this tool to exclude a specific transaction from your bank or credit card account records. Ideal for removing unwanted or incorrect entries.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to which the transaction belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank transaction to be excluded.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id_for_transaction_exclusion", + "type": "string", + "required": false, + "description": "The ID of the account from which a transaction will be excluded. This is a mandatory field.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'exclude_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExcludeBankTransaction", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "transaction_id": { + "value": "TRX-20260218-0001", + "type": "string", + "required": true + }, + "account_id_for_transaction_exclusion": { + "value": "ACC-55667788", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportAndPrintEstimates", + "qualifiedName": "ZohoBooksApi.ExportAndPrintEstimates", + "fullyQualifiedName": "ZohoBooksApi.ExportAndPrintEstimates@1.0.0", + "description": "Export and print estimates as a PDF file.\n\nUse this tool to export up to 25 estimates as a PDF file and prepare them for printing.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose estimates are to be exported and printed.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_ids_to_export", + "type": "string", + "required": true, + "description": "Comma-separated list of estimate IDs to export and print. Maximum of 25 IDs allowed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_print_estimates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportAndPrintEstimates", + "parameters": { + "organization_id": { + "value": "678901234", + "type": "string", + "required": true + }, + "estimate_ids_to_export": { + "value": "EST-1001,EST-1002,EST-1003", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportAndPrintInvoices", + "qualifiedName": "ZohoBooksApi.ExportAndPrintInvoices", + "fullyQualifiedName": "ZohoBooksApi.ExportAndPrintInvoices@1.0.0", + "description": "Export and print multiple invoices as PDFs.\n\nUse this tool to export and print up to 25 invoices at a time in PDF format.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's invoices to print.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifiers", + "type": "string", + "required": true, + "description": "A comma-separated string of up to 25 invoice IDs to export and print as PDFs.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_print_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportAndPrintInvoices", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "invoice_identifiers": { + "value": "INV-1001,INV-1002,INV-1003,INV-1004,INV-1005", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportEstimatesAsPdf", + "qualifiedName": "ZohoBooksApi.ExportEstimatesAsPdf", + "fullyQualifiedName": "ZohoBooksApi.ExportEstimatesAsPdf@1.0.0", + "description": "Export up to 25 estimates as a single PDF document.\n\nUse this tool to export multiple estimates (up to 25) in one consolidated PDF document. Ideal for compiling estimates quickly into a single file for review or sharing.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required to specify which organization's estimates are to be exported.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_ids", + "type": "string", + "required": true, + "description": "Comma-separated list of estimate IDs to include in the PDF. Maximum of 25 IDs allowed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_export_estimates_as_pdf'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportEstimatesAsPdf", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "estimate_ids": { + "value": "EST-1001,EST-1002,EST-1003,EST-1004,EST-1005", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportInvoicesAsPdf", + "qualifiedName": "ZohoBooksApi.ExportInvoicesAsPdf", + "fullyQualifiedName": "ZohoBooksApi.ExportInvoicesAsPdf@1.0.0", + "description": "Export up to 25 invoices as a single PDF file.\n\nUse this tool to export multiple invoices into a single PDF document. Ideal for consolidating up to 25 invoices in one file.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which invoices are being exported.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_ids", + "type": "string", + "required": true, + "description": "Comma-separated list of invoice IDs to export as a PDF. Maximum of 25 IDs allowed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_export_invoices_as_pdf'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportInvoicesAsPdf", + "parameters": { + "organization_identifier": { + "value": "203482341234", + "type": "string", + "required": true + }, + "invoice_ids": { + "value": "INV001,INV002,INV003", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportPrintSalesOrders", + "qualifiedName": "ZohoBooksApi.ExportPrintSalesOrders", + "fullyQualifiedName": "ZohoBooksApi.ExportPrintSalesOrders@1.0.0", + "description": "Export and print sales orders as PDFs.\n\nExports up to 25 sales orders as PDF files for printing. This tool is used to generate printable documents of sales orders in batch format.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose sales orders you want to export and print as PDFs.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_print_sales_orders'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportPrintSalesOrders", + "parameters": { + "organization_id": { + "value": "org_9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ExportSalesOrdersPdf", + "qualifiedName": "ZohoBooksApi.ExportSalesOrdersPdf", + "fullyQualifiedName": "ZohoBooksApi.ExportSalesOrdersPdf@1.0.0", + "description": "Export sales orders as a single PDF document.\n\nUse this tool to export up to 25 sales orders into a single PDF file from Zoho Books. It is useful for generating and retrieving sales documentation in bulk for reporting or archiving.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose sales orders will be exported as a PDF. This ID is required to access and retrieve the sales order data from Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_export_sales_orders_as_pdf'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ExportSalesOrdersPdf", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchAssetHistory", + "qualifiedName": "ZohoBooksApi.FetchAssetHistory", + "fullyQualifiedName": "ZohoBooksApi.FetchAssetHistory@1.0.0", + "description": "Fetch the detailed history of a specific fixed asset.\n\nThis tool retrieves a comprehensive history of a fixed asset, detailing its journey from acquisition to write-off. It should be called when you need insights into a fixed asset's lifecycle.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose asset history is being requested.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset. Required to fetch its detailed history.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to retrieve, with a default value of 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Defaults to 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_fixed_asset_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchAssetHistory", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-2021-0001", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchBankAccountRules", + "qualifiedName": "ZohoBooksApi.FetchBankAccountRules", + "fullyQualifiedName": "ZohoBooksApi.FetchBankAccountRules@1.0.0", + "description": "Fetch rules for a specified bank account.\n\nThis tool fetches all the rules created for a given bank or credit card account ID. It's used to retrieve details about transaction rules associated with a specific account.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This ID is necessary to fetch the rules linked with the specified bank or credit card account.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "integer", + "required": true, + "description": "ID of the bank or credit card account to fetch rules for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bank_account_rules'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchBankAccountRules", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": 123456789, + "type": "integer", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchBankTransactionDetails", + "qualifiedName": "ZohoBooksApi.FetchBankTransactionDetails", + "fullyQualifiedName": "ZohoBooksApi.FetchBankTransactionDetails@1.0.0", + "description": "Fetch details of a specific bank transaction by ID.\n\nUse this tool to retrieve detailed information about a bank transaction by providing its transaction ID. This is useful for accessing specific transaction records in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the bank transaction details need to be fetched.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier for the bank transaction to fetch its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchBankTransactionDetails", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "BT-000987654", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchEmployeeDetails", + "qualifiedName": "ZohoBooksApi.FetchEmployeeDetails", + "fullyQualifiedName": "ZohoBooksApi.FetchEmployeeDetails@1.0.0", + "description": "Retrieve detailed information about an employee.\n\nThis tool is used to obtain comprehensive details of a specific employee by their ID in Zoho Books. It should be called when detailed employee information is needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. This ID is necessary to specify which organization's employee details are being requested.", + "enum": null, + "inferrable": true + }, + { + "name": "employee_unique_id", + "type": "string", + "required": true, + "description": "The unique identifier for the employee whose details are to be fetched in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_employee'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchEmployeeDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "employee_unique_id": { + "value": "EMP-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchVendorCreditRefunds", + "qualifiedName": "ZohoBooksApi.FetchVendorCreditRefunds", + "fullyQualifiedName": "ZohoBooksApi.FetchVendorCreditRefunds@1.0.0", + "description": "Retrieve a paginated list of vendor credit refunds.\n\nUse this tool to obtain detailed information about vendor credit refunds, useful for financial reconciliation and tracking vendor transactions. This tool supports pagination.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which to list vendor credit refunds.", + "enum": null, + "inferrable": true + }, + { + "name": "search_vendor_credits_by_customer_id", + "type": "integer", + "required": false, + "description": "Search for vendor credits linked to a specific customer using their ID.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_last_modified_time", + "type": "string", + "required": false, + "description": "Search vendor credits using the last modified time as a filter. This expects a date-time string, typically in ISO 8601 format, to narrow down results by when they were last modified.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_vendor_credits_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort vendor credits by. Allowed values: vendor_name, vendor_credit_number, balance, total, date, created_time, last_modified_time, reference_number.", + "enum": null, + "inferrable": true + }, + { + "name": "pagination_page_number", + "type": "integer", + "required": false, + "description": "Specify the page number of results to retrieve for pagination. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of vendor credits to return per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_credit_refunds1'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchVendorCreditRefunds", + "parameters": { + "organization_id": { + "value": "a1b2c3d4e5f6g7h8i9j0", + "type": "string", + "required": true + }, + "search_vendor_credits_by_customer_id": { + "value": 98765, + "type": "integer", + "required": false + }, + "vendor_credit_last_modified_time": { + "value": "2025-01-15T12:30:00Z", + "type": "string", + "required": false + }, + "sort_vendor_credits_by_column": { + "value": "last_modified_time", + "type": "string", + "required": false + }, + "pagination_page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FetchVendorPaymentDetails", + "qualifiedName": "ZohoBooksApi.FetchVendorPaymentDetails", + "fullyQualifiedName": "ZohoBooksApi.FetchVendorPaymentDetails@1.0.0", + "description": "Retrieve details of a vendor payment by payment ID.\n\nCall this tool to get detailed information about a specific vendor payment using the payment ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve the vendor payment details.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the payment to retrieve its details.", + "enum": null, + "inferrable": true + }, + { + "name": "include_tax_information", + "type": "boolean", + "required": false, + "description": "Set to true to fetch tax information for the vendor payment.", + "enum": null, + "inferrable": true + }, + { + "name": "fetch_statement_line_info", + "type": "boolean", + "required": false, + "description": "Set to true to fetch statement line information for the vendor payment.", + "enum": null, + "inferrable": true + }, + { + "name": "print_payment", + "type": "boolean", + "required": false, + "description": "Specify true to print the Vendor Payment details.", + "enum": null, + "inferrable": true + }, + { + "name": "is_bill_payment_id", + "type": "boolean", + "required": false, + "description": "True if the ID is for a Bill Payment, false for a Vendor Payment.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FetchVendorPaymentDetails", + "parameters": { + "organization_id": { + "value": "686123456789", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "VENDORPAY-987654321", + "type": "string", + "required": true + }, + "include_tax_information": { + "value": true, + "type": "boolean", + "required": false + }, + "fetch_statement_line_info": { + "value": true, + "type": "boolean", + "required": false + }, + "print_payment": { + "value": false, + "type": "boolean", + "required": false + }, + "is_bill_payment_id": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "FindMatchingBankTransactions", + "qualifiedName": "ZohoBooksApi.FindMatchingBankTransactions", + "fullyQualifiedName": "ZohoBooksApi.FindMatchingBankTransactions@1.0.0", + "description": "Find matching uncategorized bank transactions.\n\nThis tool retrieves a list of uncategorized bank transactions that match specified criteria. It can also handle invoices, bills, and credit notes by recording and matching new payment or refund transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to search transactions for.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier for the bank transaction to search for matching entries.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank transaction to be matched.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_type", + "type": "string", + "required": false, + "description": "Specify the type of transaction. Allowed values: deposit, refund, transfer_fund, card_payment, sales_without_invoices, expense_refund, owner_contribution, interest_income, other_income, owner_drawings, sales_return. Note: Some types are module-specific and cannot be created under this endpoint.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_date_after", + "type": "string", + "required": false, + "description": "Specify the date after which transactions should be filtered. Use YYYY-MM-DD format.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_date_before", + "type": "string", + "required": false, + "description": "Specify a date in YYYY-MM-DD format. Transactions before this date will be filtered.", + "enum": null, + "inferrable": true + }, + { + "name": "minimum_transaction_amount", + "type": "number", + "required": false, + "description": "Minimum amount to filter transactions. Only transactions equal to or greater than this amount are included.", + "enum": null, + "inferrable": true + }, + { + "name": "maximum_transaction_amount", + "type": "number", + "required": false, + "description": "Maximum amount for filtering transactions. Only transactions with an amount less than or equal to this value will be included.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_contact_name", + "type": "string", + "required": false, + "description": "Name of the contact person involved in the transaction.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_reference_number", + "type": "string", + "required": false, + "description": "Reference number of the transaction to filter matching records.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number to fetch. Default is 1, used for pagination.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. The default value is 200.", + "enum": null, + "inferrable": true + }, + { + "name": "show_all_transactions", + "type": "boolean", + "required": false, + "description": "Set to true to display all transactions without applying filters; false to filter transactions.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_matching_bank_transactions'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.FindMatchingBankTransactions", + "parameters": { + "organization_id": { + "value": "1234567890abcdef", + "type": "string", + "required": true + }, + "transaction_id": { + "value": "txn_20260218_001", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "bt_987654321", + "type": "string", + "required": true + }, + "transaction_type": { + "value": "deposit", + "type": "string", + "required": false + }, + "filter_date_after": { + "value": "2026-01-01", + "type": "string", + "required": false + }, + "filter_date_before": { + "value": "2026-02-17", + "type": "string", + "required": false + }, + "minimum_transaction_amount": { + "value": 50, + "type": "integer", + "required": false + }, + "maximum_transaction_amount": { + "value": 5000, + "type": "integer", + "required": false + }, + "transaction_contact_name": { + "value": "Acme Corp", + "type": "string", + "required": false + }, + "transaction_reference_number": { + "value": "REF-2026-02-17-01", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + }, + "show_all_transactions": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GenerateInvoicePaymentLink", + "qualifiedName": "ZohoBooksApi.GenerateInvoicePaymentLink", + "fullyQualifiedName": "ZohoBooksApi.GenerateInvoicePaymentLink@1.0.0", + "description": "Generate a payment link for an invoice with expiry.\n\nUse this tool to generate a unique payment link for a specified invoice, including setting an expiry date for the link.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Specify the organization's unique ID.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_transaction_id", + "type": "string", + "required": true, + "description": "The unique ID of the transaction or invoice for which the payment link is generated.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_type", + "type": "string", + "required": true, + "description": "Specifies the type of transaction, typically 'Invoice'.", + "enum": null, + "inferrable": true + }, + { + "name": "link_type", + "type": "string", + "required": true, + "description": "Specifies whether the payment link is Private or Public.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_link_expiry_date", + "type": "string", + "required": true, + "description": "The date when the payment link should expire. Use format: yyyy-MM-dd.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'generate_invoice_payment_link'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GenerateInvoicePaymentLink", + "parameters": { + "organization_identifier": { + "value": "ORG123456789", + "type": "string", + "required": true + }, + "invoice_transaction_id": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "transaction_type": { + "value": "Invoice", + "type": "string", + "required": true + }, + "link_type": { + "value": "Private", + "type": "string", + "required": true + }, + "payment_link_expiry_date": { + "value": "2026-03-31", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetAccountDetails", + "qualifiedName": "ZohoBooksApi.GetAccountDetails", + "fullyQualifiedName": "ZohoBooksApi.GetAccountDetails@1.0.0", + "description": "Retrieve detailed information for a specified account.\n\nThis tool is used to obtain detailed information about a specific account from the chart of accounts. It should be called when you need to access account specifics such as account name, type, and other related details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to which the account belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "account_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the account details request.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_chart_of_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetAccountDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "account_unique_id": { + "value": "1000000000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetAssetDepreciationSummary", + "qualifiedName": "ZohoBooksApi.GetAssetDepreciationSummary", + "fullyQualifiedName": "ZohoBooksApi.GetAssetDepreciationSummary@1.0.0", + "description": "Displays detailed future depreciation rates for a fixed asset.\n\nUse this tool to obtain a summary of an asset's future depreciation rates. It is helpful for financial forecasting and decision-making regarding fixed assets.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the asset's future depreciation rates are to be retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset to fetch its future depreciation rates.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_fixed_asset_forecast'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetAssetDepreciationSummary", + "parameters": { + "organization_identifier": { + "value": "org_9876543210", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBankAccountDetails", + "qualifiedName": "ZohoBooksApi.GetBankAccountDetails", + "fullyQualifiedName": "ZohoBooksApi.GetBankAccountDetails@1.0.0", + "description": "Retrieve detailed information of a specified bank account.\n\nCall this tool to get a comprehensive view of a bank account by specifying its account ID. Useful for accessing detailed account data within Zoho Books.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID for the organization. Required to specify which organization's data to access.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": true, + "description": "Unique identifier used to specify the bank account for detailed retrieval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bank_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBankAccountDetails", + "parameters": { + "organization_identifier": { + "value": "60000000001", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": "ba_1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBankAccountRuleDetails", + "qualifiedName": "ZohoBooksApi.GetBankAccountRuleDetails", + "fullyQualifiedName": "ZohoBooksApi.GetBankAccountRuleDetails@1.0.0", + "description": "Retrieve details of a specific bank account rule.\n\nCall this tool to get information about a specific rule in a bank account using its rule ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which to retrieve the bank account rule details.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_rule_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account rule to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bank_account_rule'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBankAccountRuleDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bank_account_rule_id": { + "value": "brule_98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBankTransactions", + "qualifiedName": "ZohoBooksApi.GetBankTransactions", + "fullyQualifiedName": "ZohoBooksApi.GetBankTransactions@1.0.0", + "description": "Retrieve all transaction details for a bank account.\n\nUse this tool to obtain detailed information about all transactions involved in a specific bank account. It is helpful for financial analysis and record-keeping.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "A unique ID representing the organization for which transactions are being queried. This is required to specify the context of the request.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "integer", + "required": false, + "description": "Unique identifier for the bank account to retrieve transactions for.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_type_filter", + "type": "string", + "required": false, + "description": "Specify the type of transactions to retrieve. Expected as a string, e.g., 'expense', 'income'.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_date_range", + "type": "string", + "required": false, + "description": "Specify the start and end date for the transaction date range. Use 'date_start' for the start and 'date_end' for the end date.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_amount_range", + "type": "number", + "required": false, + "description": "Set a range of transaction amounts to filter transactions. Use two numbers: start amount, end amount.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_status_list_view", + "type": "string", + "required": false, + "description": "Filter transactions by status: all, uncategorized, manually_added, matched, excluded, categorized.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_reference_number", + "type": "string", + "required": false, + "description": "Search for a transaction using its reference number for more precise results.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_filter_type", + "type": "string", + "required": false, + "description": "Filter transactions by type: Status.All, Status.Uncategorized, Status.Categorized, Status.ManuallyAdded, Status.Excluded, Status.Matched.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_transactions_by", + "type": "string", + "required": false, + "description": "Specify how to sort transactions. Allowed value: 'date'.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_status_filter", + "type": "string", + "required": false, + "description": "Filter transactions by status: All, uncategorized, manually_added, matched, excluded, categorized.", + "enum": null, + "inferrable": true + }, + { + "name": "search_transactions_by_text", + "type": "string", + "required": false, + "description": "Search transactions using contact name or transaction description.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_page_number", + "type": "integer", + "required": false, + "description": "Page number of transactions to fetch, with a default value of 1. Used for pagination.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of transaction records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bank_transactions'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBankTransactions", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": 98765, + "type": "integer", + "required": false + }, + "transaction_type_filter": { + "value": "expense", + "type": "string", + "required": false + }, + "transaction_date_range": { + "value": "date_start=2025-01-01&date_end=2025-01-31", + "type": "string", + "required": false + }, + "transaction_amount_range": { + "value": "100.00,5000.00", + "type": "integer", + "required": false + }, + "transaction_status_list_view": { + "value": "all", + "type": "string", + "required": false + }, + "transaction_reference_number": { + "value": "INV-20250115-003", + "type": "string", + "required": false + }, + "transaction_filter_type": { + "value": "Status.Matched", + "type": "string", + "required": false + }, + "sort_transactions_by": { + "value": "date", + "type": "string", + "required": false + }, + "transaction_status_filter": { + "value": "matched", + "type": "string", + "required": false + }, + "search_transactions_by_text": { + "value": "Acme Corp", + "type": "string", + "required": false + }, + "transaction_page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBaseCurrencyAdjustmentDetails", + "qualifiedName": "ZohoBooksApi.GetBaseCurrencyAdjustmentDetails", + "fullyQualifiedName": "ZohoBooksApi.GetBaseCurrencyAdjustmentDetails@1.0.0", + "description": "Retrieve base currency adjustment details by ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose currency adjustment details are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "base_currency_adjustment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the base currency adjustment to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_base_currency_adjustment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBaseCurrencyAdjustmentDetails", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "base_currency_adjustment_identifier": { + "value": "BCA-0001234567", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBillHistory", + "qualifiedName": "ZohoBooksApi.GetBillHistory", + "fullyQualifiedName": "ZohoBooksApi.GetBillHistory@1.0.0", + "description": "Retrieve the complete history and comments for a bill.\n\nThis tool retrieves the entire history and comments associated with a specified bill. It is useful for reviewing past interactions and notes on a bill.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "String identifier for the organization whose bill history and comments you wish to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to retrieve its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bill_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBillHistory", + "parameters": { + "organization_id": { + "value": "ORG_789012345", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL_2026_000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetBillPaymentsList", + "qualifiedName": "ZohoBooksApi.GetBillPaymentsList", + "fullyQualifiedName": "ZohoBooksApi.GetBillPaymentsList@1.0.0", + "description": "Retrieve the list of payments made for a specific bill.\n\nThis tool provides a list of all payments made for a specified bill using the bill ID. It should be called when you need to view detailed payment history for a particular bill.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which to retrieve bill payments.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific bill to retrieve payment details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bill_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetBillPaymentsList", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactActivityRecentComments", + "qualifiedName": "ZohoBooksApi.GetContactActivityRecentComments", + "fullyQualifiedName": "ZohoBooksApi.GetContactActivityRecentComments@1.0.0", + "description": "Retrieve recent comments for a specific contact.\n\nUse this tool to get a list of recent comments or activities associated with a specific contact in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose contact comments you want to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact to retrieve recent comments.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number to be fetched. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_contact_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactActivityRecentComments", + "parameters": { + "organization_id": { + "value": "7456321000001234567", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "72653000000012345", + "type": "string", + "required": true + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactAddresses", + "qualifiedName": "ZohoBooksApi.GetContactAddresses", + "fullyQualifiedName": "ZohoBooksApi.GetContactAddresses@1.0.0", + "description": "Retrieve addresses for a specified contact.\n\nGet the shipping, billing, and additional addresses of a specific contact in Zoho Books. This tool is useful for retrieving address details when needing to display or utilize contact information in applications.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. This ID is necessary to fetch the contact's addresses within the specified organization.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": true, + "description": "Unique identifier of the contact in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_contact_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactAddresses", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "contact_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactPersonDetails", + "qualifiedName": "ZohoBooksApi.GetContactPersonDetails", + "fullyQualifiedName": "ZohoBooksApi.GetContactPersonDetails@1.0.0", + "description": "Retrieve details of a specific contact person.\n\nUse this tool to get detailed information about a specific contact person associated with a given contact in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. This identifies which organization the contact person belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the contact in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_person_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact person in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_contact_person'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactPersonDetails", + "parameters": { + "organization_id": { + "value": "6298743210", + "type": "string", + "required": true + }, + "contact_identifier": { + "value": "C123456789", + "type": "string", + "required": true + }, + "contact_person_identifier": { + "value": "CP987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactRefundHistory", + "qualifiedName": "ZohoBooksApi.GetContactRefundHistory", + "fullyQualifiedName": "ZohoBooksApi.GetContactRefundHistory@1.0.0", + "description": "Retrieve the refund history of a specific contact.\n\nUse this tool to get a list of all refunds associated with a particular contact in Zoho Books. This can be useful for financial reconciliations or customer service inquiries related to refund transactions.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to access the specific account data.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact in Zoho Books for refund history retrieval.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch for the contact's refund history. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specifies how many refund records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_contact_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactRefundHistory", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "c_abc123def456", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetContactStatementMailContent", + "qualifiedName": "ZohoBooksApi.GetContactStatementMailContent", + "fullyQualifiedName": "ZohoBooksApi.GetContactStatementMailContent@1.0.0", + "description": "Retrieve the statement email content for a contact.\n\nUse this tool to get the content of a statement email for a specified contact in Zoho Books.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve statement mail content for the contact.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the contact to retrieve the statement mail content.", + "enum": null, + "inferrable": true + }, + { + "name": "statement_start_date", + "type": "string", + "required": false, + "description": "Start date for the statement. Use format [yyyy-mm-dd]. Defaults to current month if not provided.", + "enum": null, + "inferrable": true + }, + { + "name": "statement_end_date", + "type": "string", + "required": false, + "description": "End date for the statement in the format [yyyy-mm-dd].", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_contact_statement_mail'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetContactStatementMailContent", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "contact_unique_identifier": { + "value": "c_98a7b6c5d4e3f2a1", + "type": "string", + "required": true + }, + "statement_start_date": { + "value": "2026-02-01", + "type": "string", + "required": false + }, + "statement_end_date": { + "value": "2026-02-28", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNoteComments", + "qualifiedName": "ZohoBooksApi.GetCreditNoteComments", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteComments@1.0.0", + "description": "Retrieve comments and history of a credit note.\n\nUse this tool to obtain the history and comments associated with a specific credit note by providing the credit note's ID. This can be useful for tracking changes or feedback related to the credit transaction.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Provide the organization's unique ID to retrieve credit note comments.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Provide the unique identifier of the credit note to retrieve its comments and history.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_note_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNoteComments", + "parameters": { + "organization_identifier": { + "value": "60012345678", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNoteDetails", + "qualifiedName": "ZohoBooksApi.GetCreditNoteDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteDetails@1.0.0", + "description": "Retrieve details of a specific credit note using its ID.\n\nCall this tool to obtain detailed information about an existing credit note by providing its unique identifier. Useful for tracking, reviewing, or managing credit notes within Zoho Books.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "The unique identifier of the credit note to retrieve details for. This ID is essential for accessing the specific credit note information.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specify the format of the credit note details: json, pdf, or html. Default is html.", + "enum": null, + "inferrable": true + }, + { + "name": "export_with_default_print_option", + "type": "boolean", + "required": false, + "description": "Specify whether to export the credit note PDF with the default print option. Use 'true' or 'false'.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNoteDetails", + "parameters": { + "organization_identifier": { + "value": "a1b2c3d4e5f6g7h8", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-2026-0042", + "type": "string", + "required": true + }, + "response_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "export_with_default_print_option": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNoteEmailContent", + "qualifiedName": "ZohoBooksApi.GetCreditNoteEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteEmailContent@1.0.0", + "description": "Retrieve email content for a given credit note.\n\nUse this tool to get the email content associated with a specified credit note by its ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve the credit note email content for. This is a required field.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve its email content.", + "enum": null, + "inferrable": true + }, + { + "name": "specified_email_template_id", + "type": "string", + "required": false, + "description": "ID of a specific email template. If not provided, defaults to customer's or the default template.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_credit_note_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNoteEmailContent", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-1001", + "type": "string", + "required": true + }, + "specified_email_template_id": { + "value": "ET-9876", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNotePdfTemplates", + "qualifiedName": "ZohoBooksApi.GetCreditNotePdfTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNotePdfTemplates@1.0.0", + "description": "Retrieve all credit note PDF templates from Zoho Books.\n\nUse this tool to obtain a list of all available credit note PDF templates from Zoho Books. It's useful when you need to browse or select a specific credit note template for use.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to fetch credit note templates.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_note_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNotePdfTemplates", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCreditNoteRefund", + "qualifiedName": "ZohoBooksApi.GetCreditNoteRefund", + "fullyQualifiedName": "ZohoBooksApi.GetCreditNoteRefund@1.0.0", + "description": "Retrieve refund details for a specific credit note.\n\nUse this tool to obtain information about the refund of a specific credit note by providing the credit note ID and refund ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which the credit note refund is being retrieved. Use a valid organization identifier.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve refund details for.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note refund to retrieve specific refund details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_credit_note_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCreditNoteRefund", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-00001234", + "type": "string", + "required": true + }, + "credit_note_refund_id": { + "value": "RF-00005678", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCurrencyDetails", + "qualifiedName": "ZohoBooksApi.GetCurrencyDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCurrencyDetails@1.0.0", + "description": "Get the details of a specific currency.\n\nUse this tool to obtain detailed information about a particular currency by its ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the currency details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the currency to fetch details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_currency'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCurrencyDetails", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "currency_identifier": { + "value": "USD", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCurrencyExchangeRate", + "qualifiedName": "ZohoBooksApi.GetCurrencyExchangeRate", + "fullyQualifiedName": "ZohoBooksApi.GetCurrencyExchangeRate@1.0.0", + "description": "Retrieve details of a specific currency exchange rate.\n\nThis tool is used to get details of an exchange rate associated with a specified currency. It should be called when you need information about a specific exchange rate for financial or currency conversion purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which you want to retrieve exchange rate details.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the currency. Use to specify the currency for the exchange rate details.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the exchange rate to retrieve details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_exchange_rate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCurrencyExchangeRate", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "currency_unique_identifier": { + "value": "USD", + "type": "string", + "required": true + }, + "exchange_rate_unique_id": { + "value": "ER_987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCurrentRunningTimer", + "qualifiedName": "ZohoBooksApi.GetCurrentRunningTimer", + "fullyQualifiedName": "ZohoBooksApi.GetCurrentRunningTimer@1.0.0", + "description": "Retrieve the current running timer for a user.\n\nUse this tool to get information about the current running timer for personal time tracking in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose running timer is being retrieved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_running_timer'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCurrentRunningTimer", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCurrentUserDetails", + "qualifiedName": "ZohoBooksApi.GetCurrentUserDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCurrentUserDetails@1.0.0", + "description": "Retrieve details of the current user from Zoho Books.\n\nUse this tool to get information about the currently authenticated user in Zoho Books. Ideal for scenarios where user-specific data is needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books to retrieve the current user details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_current_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCurrentUserDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCustomerDebitNote", + "qualifiedName": "ZohoBooksApi.GetCustomerDebitNote", + "fullyQualifiedName": "ZohoBooksApi.GetCustomerDebitNote@1.0.0", + "description": "Retrieve the details of a customer debit note from Zoho Books.\n\nThis tool is used to get detailed information about a specific customer debit note by its ID from Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Organization ID for the request. This ID is required to specify the organization from which to retrieve the debit note.", + "enum": null, + "inferrable": true + }, + { + "name": "debit_note_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific debit note to retrieve details.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Format of the debit note details. Options are json, pdf, or html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "If true, print the exported PDF version of the debit note; otherwise, do not print.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_customer_debit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCustomerDebitNote", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "debit_note_unique_id": { + "value": "DN-2026-000112", + "type": "string", + "required": true + }, + "response_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCustomerPaymentDetails", + "qualifiedName": "ZohoBooksApi.GetCustomerPaymentDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCustomerPaymentDetails@1.0.0", + "description": "Retrieve details of a specific customer payment.\n\nUse this tool to obtain information about a specific customer payment by providing the payment ID. Ideal for retrieving payment history or verifying payment details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the payment details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the payment to retrieve details for.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Format of the response. Allowed values: 'json' or 'pdf'. Default is 'json'.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCustomerPaymentDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "PMT-20260218-987654321", + "type": "string", + "required": true + }, + "response_format": { + "value": "json", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCustomerPaymentRefundDetails", + "qualifiedName": "ZohoBooksApi.GetCustomerPaymentRefundDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCustomerPaymentRefundDetails@1.0.0", + "description": "Obtain details of a specific customer payment refund.\n\nUse this tool to get detailed information about a particular refund related to a customer's payment.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization. This is required to specify which organization's data to access.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the customer payment to retrieve refund details.", + "enum": null, + "inferrable": true + }, + { + "name": "refund_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the refund for the specified customer payment.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_customer_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCustomerPaymentRefundDetails", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "customer_payment_unique_id": { + "value": "c_pay_6f8a2b4c9e", + "type": "string", + "required": true + }, + "refund_identifier": { + "value": "refund_3d9f7b1a", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetCustomModuleRecordDetails", + "qualifiedName": "ZohoBooksApi.GetCustomModuleRecordDetails", + "fullyQualifiedName": "ZohoBooksApi.GetCustomModuleRecordDetails@1.0.0", + "description": "Fetch details of an organization in Zoho Books.\n\nUse this tool to retrieve details of a specific organization by providing the module name and module ID in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": true, + "description": "The name of the module associated with the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_id", + "type": "integer", + "required": true, + "description": "The ID for the specific custom module in Zoho Books that you want to retrieve details for. This value should be an integer.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_custom_module_record_details'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetCustomModuleRecordDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "module_name": { + "value": "CustomOrders", + "type": "string", + "required": true + }, + "custom_module_id": { + "value": 1024, + "type": "integer", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetEstimateComments", + "qualifiedName": "ZohoBooksApi.GetEstimateComments", + "fullyQualifiedName": "ZohoBooksApi.GetEstimateComments@1.0.0", + "description": "Get the complete history and comments of an estimate.\n\nThis tool retrieves all comments and historical data associated with a specific estimate. Use it to track changes or discussions about an estimate.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization whose estimate comments are needed.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate to retrieve its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_estimate_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetEstimateComments", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetEstimateEmailContent", + "qualifiedName": "ZohoBooksApi.GetEstimateEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetEstimateEmailContent@1.0.0", + "description": "Retrieve the email content for a specific estimate.\n\nUse this tool to get the email content associated with a specific estimate by providing the estimate ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which you want to retrieve the estimate email content.", + "enum": null, + "inferrable": true + }, + { + "name": "email_template_id", + "type": "string", + "required": true, + "description": "Optional. Specify a template ID to retrieve the email content based on a specific template. If not provided, defaults to the customer's associated or default template.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_id", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate to retrieve its email content.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_estimate_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetEstimateEmailContent", + "parameters": { + "organization_id": { + "value": "6789012345", + "type": "string", + "required": true + }, + "email_template_id": { + "value": "ETPL-145", + "type": "string", + "required": true + }, + "estimate_id": { + "value": "EST-2026-00042", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetEstimateTemplates", + "qualifiedName": "ZohoBooksApi.GetEstimateTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetEstimateTemplates@1.0.0", + "description": "Retrieve all estimate PDF templates.\n\nThis tool retrieves a list of all available PDF templates used for estimates. It should be called when users need to view or select templates for estimate documents.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to fetch estimate templates.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_estimate_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetEstimateTemplates", + "parameters": { + "organization_id": { + "value": "6001234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetExpenseComments", + "qualifiedName": "ZohoBooksApi.GetExpenseComments", + "fullyQualifiedName": "ZohoBooksApi.GetExpenseComments@1.0.0", + "description": "Retrieve comments and history for a specific expense.\n\nThis tool should be called to get the discussion and history associated with an expense, specified by its ID, in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books required to fetch the expense comments.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the expense to retrieve its comments and history in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_expense_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetExpenseComments", + "parameters": { + "organization_id": { + "value": "org_0123456789abcdef", + "type": "string", + "required": true + }, + "expense_unique_id": { + "value": "exp_2026-02-001234", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetExpenseDetails", + "qualifiedName": "ZohoBooksApi.GetExpenseDetails", + "fullyQualifiedName": "ZohoBooksApi.GetExpenseDetails@1.0.0", + "description": "Retrieve details of a specific expense by ID.\n\nUse this tool to get detailed information about an expense by providing the expense ID. Ideal for financial reviews or tracking specific expenses.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "String representing the ID of the organization for which the expense details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the expense to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetExpenseDetails", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "expense_identifier": { + "value": "EXP-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetFixedAssetDetails", + "qualifiedName": "ZohoBooksApi.GetFixedAssetDetails", + "fullyQualifiedName": "ZohoBooksApi.GetFixedAssetDetails@1.0.0", + "description": "Retrieve details of a fixed asset using its ID.\n\nThis tool is used to obtain detailed information about a fixed asset by providing its unique ID. It should be called when you need specific details about an asset in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which you want to retrieve the asset details.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetFixedAssetDetails", + "parameters": { + "organization_id": { + "value": "670123456", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-00012459", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetFixedAssetsList", + "qualifiedName": "ZohoBooksApi.GetFixedAssetsList", + "fullyQualifiedName": "ZohoBooksApi.GetFixedAssetsList@1.0.0", + "description": "Retrieve a list of fixed assets from Zoho Books.\n\nUse this tool to obtain a detailed list of fixed assets stored in Zoho Books. Ideal for managing and reviewing asset inventories.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which to list fixed assets.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_fixed_asset_status", + "type": "string", + "required": false, + "description": "Filter the fixed asset list by status. Valid inputs: Status.All, Status.Active, Status.Cancel, Status.FullyDepreciated, Status.WriteOff, Status.Sold, Status.Draft.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort the fixed asset list. Choose from: asset_name, asset_number, asset_cost, created_time, current_asset_value.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_order", + "type": "string", + "required": false, + "description": "Sort the fixed asset list in ascending or descending order. Use 'A' for ascending and 'D' for descending.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch from the fixed asset list. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of fixed asset records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_fixed_assets'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetFixedAssetsList", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "filter_fixed_asset_status": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "asset_name", + "type": "string", + "required": false + }, + "sort_order": { + "value": "A", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetFixedAssetTypeList", + "qualifiedName": "ZohoBooksApi.GetFixedAssetTypeList", + "fullyQualifiedName": "ZohoBooksApi.GetFixedAssetTypeList@1.0.0", + "description": "Retrieve a list of fixed asset types.\n\nCall this tool to obtain a list of all available fixed asset types in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization to retrieve asset types for.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "The page number to retrieve for the list of fixed asset types. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_fixed_asset_type_list'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetFixedAssetTypeList", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceAttachment", + "qualifiedName": "ZohoBooksApi.GetInvoiceAttachment", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceAttachment@1.0.0", + "description": "Fetch attachment file from a specified invoice.\n\nCall this tool to retrieve the file attached to a specific invoice using its ID. Useful for accessing documents associated with invoices.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to retrieve the invoice attachment for.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to fetch the attachment from.", + "enum": null, + "inferrable": true + }, + { + "name": "get_thumbnail", + "type": "boolean", + "required": false, + "description": "Set to true to get the thumbnail of the invoice attachment.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceAttachment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "get_thumbnail": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceComments", + "qualifiedName": "ZohoBooksApi.GetInvoiceComments", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceComments@1.0.0", + "description": "Get comments and history of an invoice.\n\nUse this tool to retrieve the full history and all comments associated with a specific invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the invoice comments and history are being retrieved. Must be a unique string identifier.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific invoice to retrieve comments and history.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoice_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceComments", + "parameters": { + "organization_id": { + "value": "org_9a1b2c3d4e5f", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceCreditsApplied", + "qualifiedName": "ZohoBooksApi.GetInvoiceCreditsApplied", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceCreditsApplied@1.0.0", + "description": "Retrieve the credits applied to a specific invoice.\n\nUse this tool to obtain a list of all credits that have been applied to a particular invoice. It should be called when detailed invoice credit information is needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to retrieve credits applied to an invoice.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice for which credits are applied.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoice_credits_applied'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceCreditsApplied", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceDetails", + "qualifiedName": "ZohoBooksApi.GetInvoiceDetails", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceDetails@1.0.0", + "description": "Retrieve details of a specific invoice by ID.\n\nThis tool is used to get detailed information about a specific invoice using its ID. It can be called when needing to verify invoice details, check status, or confirm amounts.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the invoice details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice. Used to specify which invoice details to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "format_type", + "type": "string", + "required": false, + "description": "Specify the format for invoice details: json, pdf, or html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Boolean value indicating whether to print the exported PDF.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceDetails", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "format_type": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceEmailContent", + "qualifiedName": "ZohoBooksApi.GetInvoiceEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceEmailContent@1.0.0", + "description": "Retrieve the email content for a specific invoice.\n\nUse this tool to get the formatted email content of a particular invoice by specifying the invoice ID. Ideal for scenarios where you need to access or send invoice details via email.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to retrieve invoice email content for the specified organization.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to retrieve its email content.", + "enum": null, + "inferrable": true + }, + { + "name": "email_template_id", + "type": "string", + "required": false, + "description": "Optional. Specify a template ID to get the email content based on a specific template. Defaults to customer-associated or default template if not provided.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_invoice_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceEmailContent", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0423", + "type": "string", + "required": true + }, + "email_template_id": { + "value": "ETPL-78", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoiceList", + "qualifiedName": "ZohoBooksApi.GetInvoiceList", + "fullyQualifiedName": "ZohoBooksApi.GetInvoiceList@1.0.0", + "description": "Retrieve and organize a list of invoices from Zoho Books.\n\nThis tool fetches a list of invoices using Zoho Books' API with options for pagination, filtering, searching, and sorting. Useful for finding specific invoices or browsing records systematically.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which invoices are being queried. This ID is crucial for accessing the correct set of invoices within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_invoice_number", + "type": "string", + "required": false, + "description": "Search for invoices using their unique invoice number. Supports 'startswith' and 'contains' variants. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_invoice_by_item_name", + "type": "string", + "required": false, + "description": "Filters invoices by product or service name in line items. Supports 'item_name_startswith' and 'item_name_contains'. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_id", + "type": "string", + "required": false, + "description": "Search invoices by item ID. Use the unique identifier of a product or service to filter invoices that include specific line items.", + "enum": null, + "inferrable": true + }, + { + "name": "item_description_filter", + "type": "string", + "required": false, + "description": "Filter invoices by item description using keywords. Supports 'startswith' and 'contains' variants. Max 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_reference_number", + "type": "string", + "required": false, + "description": "Search invoices by reference number, such as purchase order or project codes, to find invoices associated with specific projects or transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_name", + "type": "string", + "required": false, + "description": "Search for invoices using the customer's name, with a maximum length of 100 characters, to generate customer-specific reports or find all invoices for a customer.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": false, + "description": "ID of the recurring invoice from which the invoice is created. Use to filter invoices tied to specific recurring billing cycles.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_email_filter", + "type": "string", + "required": false, + "description": "Filter invoices by the customer's email address. Maximum length is 100 characters. Ideal for finding specific customer invoices or customer segment analysis.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_total_amount", + "type": "string", + "required": false, + "description": "Search and filter invoices based on the final total amount, including taxes, discounts, and adjustments. Useful for finding invoices within specific price ranges or identifying high-value transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_outstanding_balance", + "type": "string", + "required": false, + "description": "Filter invoices by outstanding balance to find overdue invoices, track receivables, or generate aging reports.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_custom_field", + "type": "string", + "required": false, + "description": "Search invoices using custom fields. Supports 'custom_field_startswith' and 'custom_field_contains' for partial matching.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_date_filter", + "type": "string", + "required": false, + "description": "Filter invoices by invoice date using yyyy-mm-dd format. Supports variants like date_start, date_end, date_before, and date_after to find invoices within specific date ranges.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_due_date_filter", + "type": "string", + "required": false, + "description": "Filter invoices by due date using yyyy-mm-dd format. Supports start, end, before, and after variants for flexible searching.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_creation_date", + "type": "string", + "required": false, + "description": "Filter invoices by creation date with yyyy-mm-dd format. Supports variants: start, end, before, and after.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_last_modified_time", + "type": "string", + "required": false, + "description": "Filters invoices modified after a specific timestamp in YYYY-MM-DDTHH:MM:SS-UTC format. Useful for identifying recently updated invoices.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_status", + "type": "string", + "required": false, + "description": "Filter invoices by their current status (e.g., sent, draft, overdue, etc.).", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "string", + "required": false, + "description": "Filters invoices using the unique customer ID. Use the ID from the Contacts API to find all invoices for a specific customer.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_invoices_by_criteria", + "type": "string", + "required": false, + "description": "Filter invoices by status (e.g., Status.Sent, Status.Paid) or payment expected date using Date.PaymentExpectedDate.", + "enum": null, + "inferrable": true + }, + { + "name": "general_search_text", + "type": "string", + "required": false, + "description": "General search for invoices by invoice number, purchase order, or customer name. Accepts up to 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort invoices by. Options: customer_name, invoice_number, date, due_date, total, balance, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_crm_potential_id", + "type": "integer", + "required": false, + "description": "Find invoices linked to a specific CRM deal or opportunity using its potential ID from Zoho CRM.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format_type", + "type": "integer", + "required": false, + "description": "Specifies the desired response format: 0 for all invoices, 1 for all invoices with counts and totals, 2 for count only, 3 for count and totals, 4 for invoices and totals.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to fetch from paginated results. Default is 1. Use with 'per_page' for navigating large data sets.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200, maximum is 200. Use to control result size for performance optimization.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoiceList", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "search_by_invoice_number": { + "value": "startswith:INV-2026", + "type": "string", + "required": false + }, + "search_invoice_by_item_name": { + "value": "item_name_contains:Cloud Backup Service", + "type": "string", + "required": false + }, + "search_by_item_id": { + "value": "453216789012345", + "type": "string", + "required": false + }, + "item_description_filter": { + "value": "contains:monthly maintenance", + "type": "string", + "required": false + }, + "search_reference_number": { + "value": "PO-2026-98765", + "type": "string", + "required": false + }, + "search_by_customer_name": { + "value": "Acme Corporation", + "type": "string", + "required": false + }, + "recurring_invoice_id": { + "value": "recurring_987654321", + "type": "string", + "required": false + }, + "customer_email_filter": { + "value": "billing@acme-corp.com", + "type": "string", + "required": false + }, + "search_by_total_amount": { + "value": ">=500.00", + "type": "string", + "required": false + }, + "search_by_outstanding_balance": { + "value": ">0.00", + "type": "string", + "required": false + }, + "search_by_custom_field": { + "value": "custom_field_contains:ProjectX", + "type": "string", + "required": false + }, + "invoice_date_filter": { + "value": "date_start:2026-01-01;date_end:2026-01-31", + "type": "string", + "required": false + }, + "invoice_due_date_filter": { + "value": "date_after:2026-02-01;date_before:2026-02-28", + "type": "string", + "required": false + }, + "filter_by_creation_date": { + "value": "start:2026-01-01;end:2026-02-15", + "type": "string", + "required": false + }, + "filter_by_last_modified_time": { + "value": "2026-02-15T10:30:00Z", + "type": "string", + "required": false + }, + "invoice_status": { + "value": "overdue", + "type": "string", + "required": false + }, + "search_by_customer_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "filter_invoices_by_criteria": { + "value": "Status.Sent", + "type": "string", + "required": false + }, + "general_search_text": { + "value": "Acme INV-2026", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "due_date", + "type": "string", + "required": false + }, + "search_by_crm_potential_id": { + "value": 123456789, + "type": "integer", + "required": false + }, + "response_format_type": { + "value": 1, + "type": "integer", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetInvoicePayments", + "qualifiedName": "ZohoBooksApi.GetInvoicePayments", + "fullyQualifiedName": "ZohoBooksApi.GetInvoicePayments@1.0.0", + "description": "Retrieve a list of payments for a specific invoice.\n\nUse this tool to get detailed information about payments made for a specific invoice by providing the invoice ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve invoice payments for.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to retrieve its payment details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoice_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetInvoicePayments", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetJournalDetails", + "qualifiedName": "ZohoBooksApi.GetJournalDetails", + "fullyQualifiedName": "ZohoBooksApi.GetJournalDetails@1.0.0", + "description": "Retrieve the details of a specific journal entry in Zoho Books.\n\nThis tool retrieves information about a specific journal entry from Zoho Books, using the journal ID. It should be called when details of a journal entry are needed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books required to retrieve journal details.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_unique_id", + "type": "string", + "required": true, + "description": "The unique identifier for the journal to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_journal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetJournalDetails", + "parameters": { + "organization_identifier": { + "value": "9876543210", + "type": "string", + "required": true + }, + "journal_unique_id": { + "value": "JRL2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetJournalList", + "qualifiedName": "ZohoBooksApi.GetJournalList", + "fullyQualifiedName": "ZohoBooksApi.GetJournalList@1.0.0", + "description": "Retrieve a list of accounting journals.\n\nUse this tool to get a list of accounting journals. It's useful for accessing journal entries in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve journals for.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_entry_number", + "type": "string", + "required": false, + "description": "Search journals by journal entry number using exact match or variants like 'entry_number_startswith' and 'entry_number_contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_reference_number", + "type": "string", + "required": false, + "description": "Search journals by reference number. Use 'startswith:' or 'contains:' for filtering options.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_date_search", + "type": "string", + "required": false, + "description": "Specify date criteria to search journals. Use date_start, date_end, date_before, or date_after.", + "enum": null, + "inferrable": true + }, + { + "name": "search_journal_notes", + "type": "string", + "required": false, + "description": "Search journals by their associated notes. Options: 'startswith' or 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_modified_time", + "type": "string", + "required": false, + "description": "Search for journals using the last modified time as a filter criterion. Provide a valid timestamp to filter entries updated after that time.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_total_filter", + "type": "number", + "required": false, + "description": "Filter journals based on total amount using keys like total_less_than or total_greater_equals.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "integer", + "required": false, + "description": "Use a specific Customer ID to search for journals in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_id", + "type": "integer", + "required": false, + "description": "Specify the Vendor ID to search journals associated with that vendor.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_journals_by_date", + "type": "string", + "required": false, + "description": "Specify the time period to filter journals by date. Options: JournalDate.All, JournalDate.Today, JournalDate.ThisWeek, JournalDate.ThisMonth, JournalDate.ThisQuarter, JournalDate.ThisYear.", + "enum": null, + "inferrable": true + }, + { + "name": "sorting_column_for_journals", + "type": "string", + "required": false, + "description": "Specify the field to sort journals by. Options: 'journal_date', 'entry_number', 'reference_number', 'total'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number of the journal list to retrieve. Default value is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of journal records to be fetched per page. Default value is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_journals'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetJournalList", + "parameters": { + "organization_id": { + "value": "600012345678901234", + "type": "string", + "required": true + }, + "journal_entry_number": { + "value": "entry_number_startswith:JE-2024", + "type": "string", + "required": false + }, + "search_by_reference_number": { + "value": "contains:INV-2024", + "type": "string", + "required": false + }, + "journal_date_search": { + "value": "date_start:2024-01-01,date_end:2024-01-31", + "type": "string", + "required": false + }, + "search_journal_notes": { + "value": "contains:year-end adjustment", + "type": "string", + "required": false + }, + "search_by_last_modified_time": { + "value": "2024-02-15T12:00:00Z", + "type": "string", + "required": false + }, + "journal_total_filter": { + "value": 1000, + "type": "integer", + "required": false + }, + "search_by_customer_id": { + "value": 987654321, + "type": "integer", + "required": false + }, + "vendor_id": { + "value": 123456789, + "type": "integer", + "required": false + }, + "filter_journals_by_date": { + "value": "JournalDate.ThisMonth", + "type": "string", + "required": false + }, + "sorting_column_for_journals": { + "value": "journal_date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetLastImportedBankStatement", + "qualifiedName": "ZohoBooksApi.GetLastImportedBankStatement", + "fullyQualifiedName": "ZohoBooksApi.GetLastImportedBankStatement@1.0.0", + "description": "Retrieve the last imported bank statement details for an account.\n\nUse this tool to get information about the most recently imported bank statement for a specified account. It provides insights into the account's latest financial activities.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization used to retrieve the bank statement.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank account for retrieving the last imported statement.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_last_imported_bank_statement'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetLastImportedBankStatement", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "bank_account_id": { + "value": "1000123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetOpeningBalance", + "qualifiedName": "ZohoBooksApi.GetOpeningBalance", + "fullyQualifiedName": "ZohoBooksApi.GetOpeningBalance@1.0.0", + "description": "Retrieves the opening balance for accounts.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve the opening balance for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_opening_balance'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetOpeningBalance", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetOrganizationDetails", + "qualifiedName": "ZohoBooksApi.GetOrganizationDetails", + "fullyQualifiedName": "ZohoBooksApi.GetOrganizationDetails@1.0.0", + "description": "Retrieve details of an organization from Zoho Books.\n\nUse this tool to get comprehensive details about a specific organization in Zoho Books by providing the organization ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization in Zoho Books. Used to retrieve specific organization details.", + "enum": null, + "inferrable": true + }, + { + "name": "org_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific organization.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_organization'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetOrganizationDetails", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "org_id": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetOrganizationUsers", + "qualifiedName": "ZohoBooksApi.GetOrganizationUsers", + "fullyQualifiedName": "ZohoBooksApi.GetOrganizationUsers@1.0.0", + "description": "Retrieve the list of all users in the organization.\n\nUse this tool to get an updated list of all users within the organization. Ideal for tasks needing user information or management.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve its users. Provide a valid organization ID as a string.", + "enum": null, + "inferrable": true + }, + { + "name": "user_status_filter", + "type": "string", + "required": false, + "description": "Filter users based on their status. Options: Status.All, Status.Active, Status.Inactive, Status.Invited, Status.Deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_users_by_column", + "type": "string", + "required": false, + "description": "Specify the attribute to sort users by. Allowed values are name, email, user_role, and status.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to be retrieved, with default being 1. Specify to navigate through pages.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of user records to retrieve per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_users'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetOrganizationUsers", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "user_status_filter": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "sort_users_by_column": { + "value": "name", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPaymentReminderEmailContent", + "qualifiedName": "ZohoBooksApi.GetPaymentReminderEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetPaymentReminderEmailContent@1.0.0", + "description": "Fetch the email content of a payment reminder for an invoice.\n\nUse this tool to obtain the email content for a payment reminder associated with a specific invoice. Ideal for scenarios where you need to preview or edit reminder emails before sending.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID for the organization within Zoho Books for which the payment reminder email content is being fetched.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific invoice to fetch the reminder email content.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_payment_reminder_mail_content_for_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetPaymentReminderEmailContent", + "parameters": { + "organization_identifier": { + "value": "6789012345", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetProjectComments", + "qualifiedName": "ZohoBooksApi.GetProjectComments", + "fullyQualifiedName": "ZohoBooksApi.GetProjectComments@1.0.0", + "description": "Retrieve comments for a specified project.\n\nUse this tool to get detailed comments for a specified project by providing the project ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization to fetch project comments for.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the project to fetch comments for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_project_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetProjectComments", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetProjectDetails", + "qualifiedName": "ZohoBooksApi.GetProjectDetails", + "fullyQualifiedName": "ZohoBooksApi.GetProjectDetails@1.0.0", + "description": "Retrieve detailed information of a specific project by ID.\n\nCall this tool to fetch details about a specific project using its ID. Useful for obtaining comprehensive project information.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve project details.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the project to retrieve detailed information.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetProjectDetails", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "project_unique_identifier": { + "value": "proj_abc123def456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetProjectTasks", + "qualifiedName": "ZohoBooksApi.GetProjectTasks", + "fullyQualifiedName": "ZohoBooksApi.GetProjectTasks@1.0.0", + "description": "Retrieve a list of tasks for a specified project.\n\nUse this tool to obtain a list of tasks added to a specific project in Zoho Books. It should be called when you need detailed task information for project management or oversight.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This is required to specify which organization's project tasks to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the project to fetch tasks.", + "enum": null, + "inferrable": true + }, + { + "name": "fetch_page_number", + "type": "integer", + "required": false, + "description": "The page number of results to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of task records to fetch per page. Defaults to 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_tasks'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetProjectTasks", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "project_unique_id": { + "value": "proj_9f8e1a2b3c", + "type": "string", + "required": true + }, + "fetch_page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetProjectUserDetails", + "qualifiedName": "ZohoBooksApi.GetProjectUserDetails", + "fullyQualifiedName": "ZohoBooksApi.GetProjectUserDetails@1.0.0", + "description": "Fetch details of a user within a project in Zoho Books.\n\nUse this tool to obtain information about a specific user's involvement in a particular project in Zoho Books. It is ideal for checking user roles or assignments within a project.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This is required to fetch the user details associated with the specified project.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the project in Zoho Books to fetch user details from.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the user within the project. Required to fetch user-specific details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetProjectUserDetails", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "proj_987654321", + "type": "string", + "required": true + }, + "user_identifier": { + "value": "user_abc123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPurchaseOrderComments", + "qualifiedName": "ZohoBooksApi.GetPurchaseOrderComments", + "fullyQualifiedName": "ZohoBooksApi.GetPurchaseOrderComments@1.0.0", + "description": "Retrieve comments and history of a purchase order.\n\nFetches the complete history and comments of a specified purchase order, useful for tracking and reviewing order details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization to retrieve purchase order comments for. Required to specify which organization's data to access.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific purchase order to retrieve comments and history.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_purchase_order_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetPurchaseOrderComments", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPurchaseOrderEmailContent", + "qualifiedName": "ZohoBooksApi.GetPurchaseOrderEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetPurchaseOrderEmailContent@1.0.0", + "description": "Retrieves the email content of a purchase order.\n\nUse this tool to get the email content related to a specific purchase order by providing its ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization to retrieve the purchase order email content for.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to retrieve its email content.", + "enum": null, + "inferrable": true + }, + { + "name": "email_template_id", + "type": "string", + "required": false, + "description": "Get the email content based on a specific email template. Defaults to customer-associated or default template if not provided.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_purchase_order_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetPurchaseOrderEmailContent", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-1001", + "type": "string", + "required": true + }, + "email_template_id": { + "value": "ET-2001", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetPurchaseOrderTemplates", + "qualifiedName": "ZohoBooksApi.GetPurchaseOrderTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetPurchaseOrderTemplates@1.0.0", + "description": "Retrieve all purchase order PDF templates from Zoho Books.\n\nThis tool is used to obtain a list of all available purchase order PDF templates in Zoho Books. It should be called when there's a need to view or select from existing purchase order templates.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for retrieving purchase order templates.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_purchase_order_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetPurchaseOrderTemplates", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringBillDetails", + "qualifiedName": "ZohoBooksApi.GetRecurringBillDetails", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringBillDetails@1.0.0", + "description": "Retrieve details of a recurring bill from Zoho Books.\n\nThis tool retrieves comprehensive details of a specified recurring bill using its ID. It should be called when detailed information about a recurring bill is required from Zoho Books.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring bill in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringBillDetails", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "recurring_bill_unique_id": { + "value": "RBILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringBillHistory", + "qualifiedName": "ZohoBooksApi.GetRecurringBillHistory", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringBillHistory@1.0.0", + "description": "Get history and comments of a recurring bill.\n\nUse this tool to fetch detailed history and comments related to a specific recurring bill by providing the recurring bill ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which you want to get the recurring bill history.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific recurring bill. Required to fetch its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_bill_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringBillHistory", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "recurring_bill_identifier": { + "value": "RBILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringExpenseDetails", + "qualifiedName": "ZohoBooksApi.GetRecurringExpenseDetails", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringExpenseDetails@1.0.0", + "description": "Get details of a specific recurring expense in Zoho Books.\n\nUse this tool to retrieve information about a particular recurring expense by providing its ID. Helpful for managing or reviewing ongoing expense details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization to retrieve its specific recurring expense details from Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring expense to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringExpenseDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "recurring_expense_id": { + "value": "500000123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringExpenseHistory", + "qualifiedName": "ZohoBooksApi.GetRecurringExpenseHistory", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringExpenseHistory@1.0.0", + "description": "Get history and comments of a recurring expense.\n\nUse this tool to retrieve the history and comments associated with a specific recurring expense in Zoho Books. Call this tool when you need detailed information about past actions and notes on a recurring expense item.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the recurring expense history is requested.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific recurring expense to retrieve history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_expense_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringExpenseHistory", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "recurring_expense_id": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringInvoiceDetails", + "qualifiedName": "ZohoBooksApi.GetRecurringInvoiceDetails", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringInvoiceDetails@1.0.0", + "description": "Retrieve details of a specific recurring invoice.\n\nUse this tool to access detailed information about a recurring invoice using its ID. It's useful for financial tracking and management purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to access organization-specific data.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring invoice to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringInvoiceDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "recurring_invoice_identifier": { + "value": "RECINV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRecurringInvoiceHistory", + "qualifiedName": "ZohoBooksApi.GetRecurringInvoiceHistory", + "fullyQualifiedName": "ZohoBooksApi.GetRecurringInvoiceHistory@1.0.0", + "description": "Get the complete history and comments of a recurring invoice.\n\nUse this tool to retrieve detailed history and comment logs for a specific recurring invoice. Ideal for reviewing past transactions and communication related to an invoice.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization. Required to access invoice history.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific recurring invoice to retrieve its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_invoice_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRecurringInvoiceHistory", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "recurring_invoice_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRetainerInvoiceAttachment", + "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceAttachment", + "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceAttachment@1.0.0", + "description": "Retrieve the file attached to a retainer invoice.\n\nUse this tool to get the file that has been attached to a specific retainer invoice. It is helpful when you need to view or download the attached document related to the invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose invoice attachment you want to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice for which the attachment is to be retrieved.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_retainer_invoice_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRetainerInvoiceAttachment", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRetainerInvoiceDetails", + "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceDetails", + "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceDetails@1.0.0", + "description": "Retrieve details of a specific retainer invoice.\n\nUse this tool to obtain details about a retainer invoice by specifying the invoice ID. Ideal for checking invoice status, amount, and related information.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization to retrieve the retainer invoice for.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to retrieve details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRetainerInvoiceDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "RINV-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRetainerInvoiceHistory", + "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceHistory", + "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceHistory@1.0.0", + "description": "Get the history and comments of a retainer invoice.\n\nFetches complete history and comments for a specific retainer invoice by ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to fetch its retainer invoice history.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to look up its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRetainerInvoiceHistory", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "4f8b7c2d-9a2b-4c6d-8e2f-1a9b2c3d4e5f", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetRetainerInvoiceTemplates", + "qualifiedName": "ZohoBooksApi.GetRetainerInvoiceTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetRetainerInvoiceTemplates@1.0.0", + "description": "Retrieve all retainer invoice PDF templates.\n\nCall this tool to get a list of all available retainer invoice PDF templates from Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve retainer invoice templates from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_retainer_invoice_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetRetainerInvoiceTemplates", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderAttachment", + "qualifiedName": "ZohoBooksApi.GetSalesOrderAttachment", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderAttachment@1.0.0", + "description": "Retrieve the file attached to a specific sales order.\n\nUse this tool to get the file attached to a sales order in Zoho Books by providing the sales order ID. It returns the file associated with the specified order.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to retrieve the attachment for.", + "enum": null, + "inferrable": true + }, + { + "name": "require_preview_of_sales_order", + "type": "boolean", + "required": false, + "description": "Specify whether a preview of the Sales Order is required. Use True for preview, False for no preview.", + "enum": null, + "inferrable": true + }, + { + "name": "require_inline_response", + "type": "boolean", + "required": false, + "description": "Set to true if an inline response is needed, displaying directly in the browser.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_sales_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderAttachment", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-2026-000123", + "type": "string", + "required": true + }, + "require_preview_of_sales_order": { + "value": true, + "type": "boolean", + "required": false + }, + "require_inline_response": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderComments", + "qualifiedName": "ZohoBooksApi.GetSalesOrderComments", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderComments@1.0.0", + "description": "Retrieve the history and comments of a sales order.\n\nUse this tool to obtain all comments and the complete history associated with a specific sales order when needing detailed insights or updates.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which to retrieve sales order comments.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to retrieve comments and history for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_sales_order_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderComments", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderDetails", + "qualifiedName": "ZohoBooksApi.GetSalesOrderDetails", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderDetails@1.0.0", + "description": "Retrieve details of a specific sales order.\n\nThis tool is used to get the details of a sales order from Zoho Books. It should be called when there's a need to look up information about a particular sales order, such as for verification or record-keeping purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This ID is used to specify the organization within Zoho Books whose sales order details need to be retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order required to retrieve its details.", + "enum": null, + "inferrable": true + }, + { + "name": "output_format", + "type": "string", + "required": false, + "description": "Specifies the format in which to receive the sales order details. Options include: json, csv, xml, xls, xlsx, pdf, jhtml, and html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to print the exported PDF of the sales order, otherwise false.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderDetails", + "parameters": { + "organization_id": { + "value": "678901234", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-2026-0001", + "type": "string", + "required": true + }, + "output_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderEmailContent", + "qualifiedName": "ZohoBooksApi.GetSalesOrderEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderEmailContent@1.0.0", + "description": "Retrieve email content for a specific sales order.\n\nThis tool is used to get the email content associated with a particular sales order, identified by its sales order ID. Use it when you need to view or analyze the email details of a sales order in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books for which the sales order email content is required.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to retrieve its email content.", + "enum": null, + "inferrable": true + }, + { + "name": "email_template_id", + "type": "string", + "required": false, + "description": "Optional. ID of the email template for retrieving specific email content. If not provided, defaults will be used.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_sales_order_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderEmailContent", + "parameters": { + "organization_id": { + "value": "6000000000001", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO1234567890", + "type": "string", + "required": true + }, + "email_template_id": { + "value": "ET987654321", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesOrderTemplates", + "qualifiedName": "ZohoBooksApi.GetSalesOrderTemplates", + "fullyQualifiedName": "ZohoBooksApi.GetSalesOrderTemplates@1.0.0", + "description": "Retrieve all sales order PDF templates from Zoho Books.\n\nUse this tool to get a list of all available sales order PDF templates in Zoho Books. This is helpful when you need to view or manage your sales order templates.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "A string representing the ID of the organization. Required to specify which organization's sales order templates to retrieve.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_sales_order_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesOrderTemplates", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetSalesReceiptDetails", + "qualifiedName": "ZohoBooksApi.GetSalesReceiptDetails", + "fullyQualifiedName": "ZohoBooksApi.GetSalesReceiptDetails@1.0.0", + "description": "Retrieve the details of a sales receipt.\n\nThis tool fetches the specific details of a sales receipt using the provided sales receipt ID. It should be called when detailed information about a particular sales receipt is needed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization for which the sales receipt is being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_receipt_id", + "type": "string", + "required": true, + "description": "The unique identifier for the sales receipt to be retrieved. Required for fetching the specific sales receipt details.", + "enum": null, + "inferrable": true + }, + { + "name": "output_format", + "type": "string", + "required": false, + "description": "Specifies the format in which to retrieve the sales receipt details. Options are 'json', 'pdf', or 'html'. Default is 'json'.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetSalesReceiptDetails", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "sales_receipt_id": { + "value": "SR-2026-0001", + "type": "string", + "required": true + }, + "output_format": { + "value": "json", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaskDetails", + "qualifiedName": "ZohoBooksApi.GetTaskDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTaskDetails@1.0.0", + "description": "Retrieve detailed information about a specific task in a project.\n\nThis tool should be called to obtain comprehensive details about a particular task within a project. It helps in understanding task specifics by providing relevant task data from Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "project_id", + "type": "string", + "required": true, + "description": "Unique identifier of the project.", + "enum": null, + "inferrable": true + }, + { + "name": "task_unique_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the task to retrieve details for from Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_task'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaskDetails", + "parameters": { + "organization_id": { + "value": "600123456789", + "type": "string", + "required": true + }, + "project_id": { + "value": "PRJ-1024", + "type": "string", + "required": true + }, + "task_unique_identifier": { + "value": "TSK-2048", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxAuthorities", + "qualifiedName": "ZohoBooksApi.GetTaxAuthorities", + "fullyQualifiedName": "ZohoBooksApi.GetTaxAuthorities@1.0.0", + "description": "Retrieve the list of tax authorities.\n\nUse this tool to obtain a list of all tax authorities, which can be helpful for managing tax-related settings or compliance.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which to retrieve tax authorities.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_tax_authorities'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxAuthorities", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxAuthorityDetails", + "qualifiedName": "ZohoBooksApi.GetTaxAuthorityDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTaxAuthorityDetails@1.0.0", + "description": "Retrieve details of a specific tax authority.\n\nUse this tool to obtain information about a tax authority by providing its unique ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization to retrieve tax authority details.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_authority_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the tax authority to retrieve details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_tax_authority'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxAuthorityDetails", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "tax_authority_unique_id": { + "value": "TA-98f7c6b4", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxDetails", + "qualifiedName": "ZohoBooksApi.GetTaxDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTaxDetails@1.0.0", + "description": "Retrieve the details of a specific tax.\n\nUse this tool to obtain information about a specific simple or compound tax by providing the tax ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization to retrieve tax details from.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for retrieving specific tax details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_tax'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "tax_identifier": { + "value": "100000000000001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxExemptionDetails", + "qualifiedName": "ZohoBooksApi.GetTaxExemptionDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTaxExemptionDetails@1.0.0", + "description": "Retrieve the details of a tax exemption using its ID.\n\nThis tool retrieves details about a specific tax exemption identified by its ID. It is useful for understanding exemption specifics within financial settings.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to access the organization's tax exemption details.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_exemption_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the tax exemption to retrieve details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_tax_exemption'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxExemptionDetails", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "tax_exemption_identifier": { + "value": "TE-2024-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTaxExemptionsList", + "qualifiedName": "ZohoBooksApi.GetTaxExemptionsList", + "fullyQualifiedName": "ZohoBooksApi.GetTaxExemptionsList@1.0.0", + "description": "Retrieve a list of tax exemptions from Zoho Books.\n\nCall this tool to get information about the current tax exemptions available in Zoho Books. It provides details on all tax exemptions configured in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization whose tax exemptions are being requested.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_tax_exemptions'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTaxExemptionsList", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetTimeEntryDetails", + "qualifiedName": "ZohoBooksApi.GetTimeEntryDetails", + "fullyQualifiedName": "ZohoBooksApi.GetTimeEntryDetails@1.0.0", + "description": "Retrieve details of a specific time entry.\n\nUse this tool to get detailed information about a specific time entry by providing the time entry ID. It's useful for tracking and managing project time entries.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the time entry details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "time_entry_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the time entry to retrieve details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_time_entry'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetTimeEntryDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "time_entry_identifier": { + "value": "TE-2025-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetUserDetails", + "qualifiedName": "ZohoBooksApi.GetUserDetails", + "fullyQualifiedName": "ZohoBooksApi.GetUserDetails@1.0.0", + "description": "Retrieve detailed information about a specific user in Zoho Books.\n\nThis tool fetches the details of a user from Zoho Books using their user ID. It should be called when user information such as name, email, or role is required.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This is required to specify the organization context for API calls.", + "enum": null, + "inferrable": true + }, + { + "name": "user_unique_identifier", + "type": "string", + "required": true, + "description": "A unique string that identifies the user in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetUserDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "user_unique_identifier": { + "value": "a1b2c3d4-5678-90ab-cdef-1234567890ab", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorCreditComments", + "qualifiedName": "ZohoBooksApi.GetVendorCreditComments", + "fullyQualifiedName": "ZohoBooksApi.GetVendorCreditComments@1.0.0", + "description": "Retrieve history and comments for a vendor credit.\n\nUse this tool to get the history and comments associated with a specific vendor credit by providing the vendor credit ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization. This ID is required to access the vendor credit comments.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the specific vendor credit to retrieve its history and comments.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_credit_comments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorCreditComments", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorCreditDetails", + "qualifiedName": "ZohoBooksApi.GetVendorCreditDetails", + "fullyQualifiedName": "ZohoBooksApi.GetVendorCreditDetails@1.0.0", + "description": "Retrieve details of a specific vendor credit.\n\nUse this tool to obtain detailed information about a vendor credit by providing the specific vendor credit ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose vendor credit details are being requested.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to retrieve details.", + "enum": null, + "inferrable": true + }, + { + "name": "output_format", + "type": "string", + "required": false, + "description": "Specify the format for vendor credit details. Options: json, xml, csv, xls, pdf, html, jhtml. Default is html.", + "enum": null, + "inferrable": true + }, + { + "name": "export_vendor_credit_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to export the vendor credit as a PDF with default print options. Accepts 'true', 'false', 'on', 'off'.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorCreditDetails", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "vendor_credit_id": { + "value": "47001234567", + "type": "string", + "required": true + }, + "output_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "export_vendor_credit_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorCreditRefund", + "qualifiedName": "ZohoBooksApi.GetVendorCreditRefund", + "fullyQualifiedName": "ZohoBooksApi.GetVendorCreditRefund@1.0.0", + "description": "Retrieve a refund for a specific vendor credit.\n\nFetches details of a refund associated with a specific vendor credit using the vendor credit ID and refund ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization to which the vendor credit belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to retrieve the refund details.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit refund for the specific transaction. Required to retrieve refund details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_credit_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorCreditRefund", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2025-0001", + "type": "string", + "required": true + }, + "vendor_credit_refund_id": { + "value": "RFD-2025-0456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorPaymentEmailContent", + "qualifiedName": "ZohoBooksApi.GetVendorPaymentEmailContent", + "fullyQualifiedName": "ZohoBooksApi.GetVendorPaymentEmailContent@1.0.0", + "description": "Retrieve email content for a vendor payment receipt.\n\nThis tool retrieves the pre-filled email details for a vendor payment, including the message subject, body, recipients, sender, and attachments. Use it to easily compose and send a payment receipt email to vendors.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to retrieve the vendor payment email content.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_id", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor payment to retrieve email content.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_payment_email_content'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorPaymentEmailContent", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "vendor_payment_id": { + "value": "vpmt_8a9b7c6d5e", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "GetVendorPaymentRefundDetails", + "qualifiedName": "ZohoBooksApi.GetVendorPaymentRefundDetails", + "fullyQualifiedName": "ZohoBooksApi.GetVendorPaymentRefundDetails@1.0.0", + "description": "Retrieve details of a specific vendor payment refund.\n\nUse this tool to obtain information about a particular refund of a vendor payment, identified by the payment ID and refund ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization whose vendor payment refund details are requested.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the payment associated with the vendor refund.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_refund_id", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor payment refund to retrieve its details.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_vendor_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.GetVendorPaymentRefundDetails", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "PAY-987654321", + "type": "string", + "required": true + }, + "vendor_payment_refund_id": { + "value": "REF-112233", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ImportBankStatements", + "qualifiedName": "ZohoBooksApi.ImportBankStatements", + "fullyQualifiedName": "ZohoBooksApi.ImportBankStatements@1.0.0", + "description": "Import bank or credit card feeds into your account.\n\n Use this tool to import bank or credit card statements directly into your account for seamless financial management. This should be called when you need to process new bank or credit card data into the system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to import bank statements for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'import_bank_statements'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ImportBankStatements", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "org_1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"bank_account_id\":\"BA-987654321\",\"file_name\":\"statement_jan_2026.csv\",\"file_format\":\"CSV\",\"file_content\":\"VGhpcyBpcyBhIG1vY2sgYmluYXJ5IGNvbnRlbnQ=\",\"date_format\":\"MM/dd/yyyy\",\"currency_code\":\"USD\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ImportCrmProductToZohoBooks", + "qualifiedName": "ZohoBooksApi.ImportCrmProductToZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.ImportCrmProductToZohoBooks@1.0.0", + "description": "Import a product from Zoho CRM to Zoho Books.\n\nUse this tool to import an item from Zoho CRM into Zoho Books by specifying its CRM product ID. This enables synchronization of product data between the two services.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. This is required to import products from Zoho CRM.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_product_id", + "type": "string", + "required": true, + "description": "Unique identifier of the Zoho CRM product to be imported into Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint ''." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ImportCrmProductToZohoBooks", + "parameters": { + "organization_identifier": { + "value": "60001234567", + "type": "string", + "required": true + }, + "crm_product_id": { + "value": "35800000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ImportCustomerFromCrm", + "qualifiedName": "ZohoBooksApi.ImportCustomerFromCrm", + "fullyQualifiedName": "ZohoBooksApi.ImportCustomerFromCrm@1.0.0", + "description": "Import a customer from Zoho CRM to Zoho Books using CRM account ID.\n\nUse this tool to import a customer from Zoho CRM into Zoho Books by providing the CRM account ID. This requires integration between Zoho Books and Zoho CRM either through Accounts and Contacts sync or Accounts only sync.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_account_id", + "type": "string", + "required": true, + "description": "Unique identifier of the Zoho CRM account to import the customer from.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'import_customer_using_crm_account_id'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ImportCustomerFromCrm", + "parameters": { + "organization_id": { + "value": "60003836719", + "type": "string", + "required": true + }, + "crm_account_id": { + "value": "1000000000000123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ImportVendorFromCrm", + "qualifiedName": "ZohoBooksApi.ImportVendorFromCrm", + "fullyQualifiedName": "ZohoBooksApi.ImportVendorFromCrm@1.0.0", + "description": "Import a vendor from Zoho CRM to Zoho Books using CRM vendor ID.\n\nUse this tool to import a vendor from Zoho CRM to Zoho Books via Vendor-only sync, requiring the CRM vendor ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books for which the vendor is being imported. This ID is used to specify the target organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "zoho_crm_vendor_id", + "type": "string", + "required": true, + "description": "Unique identifier of the Zoho CRM vendor to import.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'import_vendor_using_crm_vendor_id'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ImportVendorFromCrm", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "zoho_crm_vendor_id": { + "value": "3500123456789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "InviteUserToProject", + "qualifiedName": "ZohoBooksApi.InviteUserToProject", + "fullyQualifiedName": "ZohoBooksApi.InviteUserToProject@1.0.0", + "description": "Invite a user to a project in Zoho Books.\n\n Use this tool to send an invitation to a user to join a specific project in Zoho Books. This is helpful when you need to collaborate with others by adding them to project teams.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books where the project is located. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the project in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'invite_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.InviteUserToProject", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "project_unique_identifier": { + "value": "proj_abc123def", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"email\":\"jane.doe@example.com\",\"role\":\"collaborator\",\"permissions\":{\"view\":true,\"edit\":false},\"message\":\"Please join the project 'Website Redesign'\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListAccountTransactions", + "qualifiedName": "ZohoBooksApi.ListAccountTransactions", + "fullyQualifiedName": "ZohoBooksApi.ListAccountTransactions@1.0.0", + "description": "Retrieve transactions for a specified account.\n\nUse this tool to list all transactions associated with a given account. Ideal for tracking financial activities related to specific accounts.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization whose account transactions are being queried.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id", + "type": "string", + "required": true, + "description": "The unique ID of the account to retrieve transactions for.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_date_range", + "type": "string", + "required": false, + "description": "Specify a date range for searching transactions. Use 'yyyy-mm-dd' format. Supports 'date.start', 'date.end', 'date.before', and 'date.after'.", + "enum": null, + "inferrable": true + }, + { + "name": "amount_range", + "type": "number", + "required": false, + "description": "Specify the amount range to filter account transactions. Use fields like less_than, less_equals, greater_than, and greater_equals to define the criteria.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_account_type", + "type": "string", + "required": false, + "description": "Filter accounts based on account type and status. Options: AccountType.All, AccountType.Active, AccountType.Inactive, AccountType.Asset, AccountType.Liability, AccountType.Equity, AccountType.Income, AccountType.Expense.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_type", + "type": "string", + "required": false, + "description": "Filter transactions by type, such as 'invoice', 'expense', or 'refund'.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by", + "type": "string", + "required": false, + "description": "Specify the column to sort transactions. Possible values: 'account_name', 'account_type'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to be fetched for the transaction list. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. Default is 200. Specify a custom integer to override.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_chart_of_account_transactions'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListAccountTransactions", + "parameters": { + "organization_id": { + "value": "6593840000001234567", + "type": "string", + "required": true + }, + "account_id": { + "value": "9876543210987654321", + "type": "string", + "required": true + }, + "transaction_date_range": { + "value": "date.start:2024-01-01,date.end:2024-01-31", + "type": "string", + "required": false + }, + "amount_range": { + "value": { + "greater_equals": 100, + "less_equals": 5000 + }, + "type": "integer", + "required": false + }, + "filter_by_account_type": { + "value": "AccountType.Asset", + "type": "string", + "required": false + }, + "transaction_type": { + "value": "expense", + "type": "string", + "required": false + }, + "sort_by": { + "value": "account_name", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListActiveInventoryItems", + "qualifiedName": "ZohoBooksApi.ListActiveInventoryItems", + "fullyQualifiedName": "ZohoBooksApi.ListActiveInventoryItems@1.0.0", + "description": "Retrieve a paginated list of all active inventory items.\n\nUse this tool to fetch a list of all active items from the inventory. It provides the data with pagination to manage large sets of items efficiently.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to fetch items from.", + "enum": null, + "inferrable": true + }, + { + "name": "item_name_search", + "type": "string", + "required": false, + "description": "Search for items by name using prefixes 'name_startswith' or 'name_contains'. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "description_filter", + "type": "string", + "required": false, + "description": "Search items by description. Use keywords or phrases up to 100 characters. Prefix with 'description_startswith' or 'description_contains' for specific filtering.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_rate_criteria", + "type": "string", + "required": false, + "description": "Specify rate conditions to filter items. Use format like 'rate_less_than:100'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_tax_id", + "type": "string", + "required": false, + "description": "Search for items using the tax ID as a filter.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_name_filter", + "type": "string", + "required": false, + "description": "Filter items by their tax name.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_exemption_identifier", + "type": "string", + "required": false, + "description": "ID for the tax exemption. Required if is_taxable is false.", + "enum": null, + "inferrable": true + }, + { + "name": "associated_account_id", + "type": "string", + "required": false, + "description": "ID of the account to associate the item with.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_items_by_status", + "type": "string", + "required": false, + "description": "Filter items by status. Allowed values are 'Status.All', 'Status.Active', and 'Status.Inactive'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_items_by_text", + "type": "string", + "required": false, + "description": "Search for items by name or description, up to 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_items_by", + "type": "string", + "required": false, + "description": "Specify the attribute to sort items by. Allowed values: 'name', 'rate', 'tax_name'.", + "enum": null, + "inferrable": true + }, + { + "name": "sat_item_key_code", + "type": "string", + "required": false, + "description": "SAT Item key code used to filter items. Provide a valid string key code for lookup.", + "enum": null, + "inferrable": true + }, + { + "name": "sat_unit_code", + "type": "string", + "required": false, + "description": "SAT Unit code for specific inventory items. Used to search or filter items based on their unit code.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "The page number of active items to retrieve, with a default of 1 if unspecified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + }, + { + "name": "is_item_taxable", + "type": "boolean", + "required": false, + "description": "Boolean indicating if the item is taxable. True means the item is taxable.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_items'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListActiveInventoryItems", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "item_name_search": { + "value": "name_startswith:Widget", + "type": "string", + "required": false + }, + "description_filter": { + "value": "description_contains:durable", + "type": "string", + "required": false + }, + "search_by_rate_criteria": { + "value": "rate_less_than:100", + "type": "string", + "required": false + }, + "search_by_tax_id": { + "value": "TX-9876", + "type": "string", + "required": false + }, + "tax_name_filter": { + "value": "GST", + "type": "string", + "required": false + }, + "tax_exemption_identifier": { + "value": "EXEMPT-001", + "type": "string", + "required": false + }, + "associated_account_id": { + "value": "ACC-555", + "type": "string", + "required": false + }, + "filter_items_by_status": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "search_items_by_text": { + "value": "eco-friendly", + "type": "string", + "required": false + }, + "sort_items_by": { + "value": "name", + "type": "string", + "required": false + }, + "sat_item_key_code": { + "value": "A123", + "type": "string", + "required": false + }, + "sat_unit_code": { + "value": "U001", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + }, + "is_item_taxable": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListAllBills", + "qualifiedName": "ZohoBooksApi.ListAllBills", + "fullyQualifiedName": "ZohoBooksApi.ListAllBills@1.0.0", + "description": "Retrieve all bills with pagination support.\n\nThis tool is used to list all bills available in the system, providing pagination information to navigate through large datasets. It should be called whenever there's a need to view or analyze billing details over multiple pages.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to specify which organization's bills to list.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_bill_number", + "type": "string", + "required": false, + "description": "Filter bills using the bill number. Use exact matches, prefix with 'bill_number_startswith', or substring with 'bill_number_contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_reference_number", + "type": "string", + "required": false, + "description": "Filter bills by reference number. Supports exact matches, prefix matching using `reference_number_startswith`, and substring matching using `reference_number_contains`. Useful for finding bills by external references or vendor invoice numbers.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_date_filter", + "type": "string", + "required": false, + "description": "Filter bills by bill date in YYYY-MM-DD format. Use for specific dates, date ranges (date_start/date_end), or relative dates (date_before/date_after).", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_status", + "type": "string", + "required": false, + "description": "Specify the status of bills to filter by. Options include 'paid', 'open', 'overdue', 'void', or 'partially_paid'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_description_text", + "type": "string", + "required": false, + "description": "Filter bills using description text. Supports exact matches, prefix matching with 'description_startswith', or substring matching with 'description_contains'. Useful for finding bills by line item descriptions or vendor notes.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_vendor_name", + "type": "string", + "required": false, + "description": "Filter bills by vendor name. Use prefix matching with 'vendor_name_startswith' or substring matching with 'vendor_name_contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_total_amount", + "type": "number", + "required": false, + "description": "Filter bills by total amount using conditions like less than, greater than, etc. Specify conditions using keys like 'total_less_than' or 'total_greater_than'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_vendor_id", + "type": "integer", + "required": false, + "description": "Unique identifier to filter bills by a specific vendor, retrieving all related bills.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "integer", + "required": false, + "description": "Filter bills by a specific item ID. Retrieves all bills containing a particular product or service item based on its unique identifier.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "integer", + "required": false, + "description": "Filter bills by a specific recurring bill ID to retrieve all bills generated from a recurring template or schedule.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_purchase_order_id", + "type": "integer", + "required": false, + "description": "Specify the Purchase Order ID to filter bills associated with a specific order. Helps track procurement workflows.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_last_modified_time", + "type": "string", + "required": false, + "description": "Filter bills by last modification timestamp using ISO 8601 format (YYYY-MM-DDTHH:MM:SS+/-HHMM) to find bills modified at or after a specific time.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_status_filter", + "type": "string", + "required": false, + "description": "Filter bills by status. Options: Status.All, Status.PartiallyPaid, Status.Paid, Status.Overdue, Status.Void, Status.Open.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Filter bills using general text across bill number, reference number, and vendor name to find matches. Useful for quick searches.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number for pagination to navigate multiple pages of bills.", + "enum": null, + "inferrable": true + }, + { + "name": "bills_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of bills to retrieve per page. Default is 200, but adjustable for performance needs and rate limits.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort bills by. Available options: vendor_name, bill_number, date, due_date, total, balance, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "sorting_order", + "type": "string", + "required": false, + "description": "Specify the sort order for bills: 'A' for ascending, 'D' for descending.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bills'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListAllBills", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "filter_by_bill_number": { + "value": "bill_number_startswith:INV-2026", + "type": "string", + "required": false + }, + "filter_by_reference_number": { + "value": "reference_number_contains:PO-7890", + "type": "string", + "required": false + }, + "bill_date_filter": { + "value": "date_start:2026-01-01,date_end:2026-01-31", + "type": "string", + "required": false + }, + "filter_by_status": { + "value": "open", + "type": "string", + "required": false + }, + "filter_by_description_text": { + "value": "description_contains:consulting", + "type": "string", + "required": false + }, + "filter_by_vendor_name": { + "value": "vendor_name_startswith:Acme", + "type": "string", + "required": false + }, + "filter_by_total_amount": { + "value": 1500, + "type": "integer", + "required": false + }, + "filter_by_vendor_id": { + "value": 4321, + "type": "integer", + "required": false + }, + "filter_by_item_id": { + "value": 777, + "type": "integer", + "required": false + }, + "recurring_bill_identifier": { + "value": 55, + "type": "integer", + "required": false + }, + "filter_by_purchase_order_id": { + "value": 10001, + "type": "integer", + "required": false + }, + "filter_by_last_modified_time": { + "value": "2026-02-01T08:30:00+0000", + "type": "string", + "required": false + }, + "bill_status_filter": { + "value": "Status.Open", + "type": "string", + "required": false + }, + "search_text": { + "value": "Acme INV-2026", + "type": "string", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "bills_per_page": { + "value": 100, + "type": "integer", + "required": false + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "sorting_order": { + "value": "D", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListBankAccounts", + "qualifiedName": "ZohoBooksApi.ListBankAccounts", + "fullyQualifiedName": "ZohoBooksApi.ListBankAccounts@1.0.0", + "description": "List all bank and credit card accounts for your organization.\n\nUse this tool to retrieve all bank and credit card accounts associated with your organization in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This is required to list all associated bank and credit card accounts in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "account_status_filter", + "type": "string", + "required": false, + "description": "Specify the status to filter accounts: 'Status.All', 'Status.Active', or 'Status.Inactive'.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by", + "type": "string", + "required": false, + "description": "Specify the sorting criterion for the accounts. Options: 'account_name', 'account_type', 'account_code'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number of results to retrieve. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. Default value is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bank_accounts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListBankAccounts", + "parameters": { + "organization_id": { + "value": "874523412345", + "type": "string", + "required": true + }, + "account_status_filter": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "sort_by": { + "value": "account_name", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListBaseCurrencyAdjustments", + "qualifiedName": "ZohoBooksApi.ListBaseCurrencyAdjustments", + "fullyQualifiedName": "ZohoBooksApi.ListBaseCurrencyAdjustments@1.0.0", + "description": "Fetch base currency adjustments list from Zoho Books.\n\nThis tool retrieves a list of base currency adjustments from Zoho Books. Call this tool when you need to obtain current base currency adjustments for accounting or financial reporting purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve currency adjustments from.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_date", + "type": "string", + "required": false, + "description": "Filter the base currency adjustment list by specific date ranges. Allowed values are: Date.All, Date.Today, Date.ThisWeek, Date.ThisMonth, Date.ThisQuarter, Date.ThisYear.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_currency_adjustment_list_by", + "type": "string", + "required": false, + "description": "Specify the sorting criterion for the currency adjustment list. Options include: adjustment_date, exchange_rate, currency_code, debit_or_credit, or gain_or_loss.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_modified_time", + "type": "string", + "required": false, + "description": "Use a timestamp to filter adjustments by their last modified time.", + "enum": null, + "inferrable": true + }, + { + "name": "fetch_page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_base_currency_adjustments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListBaseCurrencyAdjustments", + "parameters": { + "organization_id": { + "value": "665432100", + "type": "string", + "required": true + }, + "filter_by_date": { + "value": "Date.ThisMonth", + "type": "string", + "required": false + }, + "sort_currency_adjustment_list_by": { + "value": "adjustment_date", + "type": "string", + "required": false + }, + "search_by_last_modified_time": { + "value": "2026-02-01T00:00:00Z", + "type": "string", + "required": false + }, + "fetch_page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListBillsWithVendorCredit", + "qualifiedName": "ZohoBooksApi.ListBillsWithVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.ListBillsWithVendorCredit@1.0.0", + "description": "List bills with applied vendor credit from a vendor credit ID.\n\nFetch a list of bills where a specific vendor credit has been applied. Use this tool to understand how vendor credits are distributed across bills.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to fetch applicable bills for vendor credit.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to list the applied bills.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_bills_credited'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListBillsWithVendorCredit", + "parameters": { + "organization_id": { + "value": "369012345", + "type": "string", + "required": true + }, + "vendor_credit_id": { + "value": "VC-2026-00098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListChartOfAccounts", + "qualifiedName": "ZohoBooksApi.ListChartOfAccounts", + "fullyQualifiedName": "ZohoBooksApi.ListChartOfAccounts@1.0.0", + "description": "Retrieve a list of all chart of accounts.\n\nUse this tool to obtain a complete list of chart of accounts with pagination support. Ideal for financial data management.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve chart of accounts for.", + "enum": null, + "inferrable": true + }, + { + "name": "account_type_filter", + "type": "string", + "required": false, + "description": "Filter accounts based on type and status. Options: AccountType.All, AccountType.Active, AccountType.Inactive, AccountType.Asset, AccountType.Liability, AccountType.Equity, AccountType.Income, AccountType.Expense.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_accounts_by", + "type": "string", + "required": false, + "description": "Specify how to sort the accounts. Options: 'account_name', 'account_type'.", + "enum": null, + "inferrable": true + }, + { + "name": "last_modified_time_filter", + "type": "string", + "required": false, + "description": "Fetch accounts modified since a specific timestamp, formatted as YYYY-MM-DDTHH:MM:SSZ.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to retrieve per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "include_balance", + "type": "boolean", + "required": false, + "description": "Include current account balances in the response when set to true.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_chart_of_accounts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListChartOfAccounts", + "parameters": { + "organization_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "account_type_filter": { + "value": "AccountType.All", + "type": "string", + "required": false + }, + "sort_accounts_by": { + "value": "account_name", + "type": "string", + "required": false + }, + "last_modified_time_filter": { + "value": "2026-02-01T00:00:00Z", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + }, + "include_balance": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListChildExpenses", + "qualifiedName": "ZohoBooksApi.ListChildExpenses", + "fullyQualifiedName": "ZohoBooksApi.ListChildExpenses@1.0.0", + "description": "Retrieve child expenses from a recurring expense.\n\nUse this tool to list expenses that have been generated from a specific recurring expense. Useful for tracking individual instances of a recurring cost.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to list child expenses for.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring expense to retrieve child expenses.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_expenses_by", + "type": "string", + "required": false, + "description": "Specify the field to sort expenses. Valid options: next_expense_date, account_name, total, last_created_date, recurrence_name, customer_name, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "fetch_page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of expense records to retrieve per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_child_expenses_of_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListChildExpenses", + "parameters": { + "organization_id": { + "value": "6789012345", + "type": "string", + "required": true + }, + "recurring_expense_identifier": { + "value": "RECEXP_2026_0001", + "type": "string", + "required": true + }, + "sort_expenses_by": { + "value": "last_created_date", + "type": "string", + "required": false + }, + "fetch_page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCompanyEmployees", + "qualifiedName": "ZohoBooksApi.ListCompanyEmployees", + "fullyQualifiedName": "ZohoBooksApi.ListCompanyEmployees@1.0.0", + "description": "Retrieve a paginated list of all employees.\n\nUse this tool to obtain a list of employees from the company database, including pagination for handling large sets of data. Ideal for getting employee details in an organized manner.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose employees are being listed. This should be provided as a string.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch. Default is 1 for the first page.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of employee records to retrieve per page, with a default of 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_employees'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCompanyEmployees", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListConfiguredCurrencies", + "qualifiedName": "ZohoBooksApi.ListConfiguredCurrencies", + "fullyQualifiedName": "ZohoBooksApi.ListConfiguredCurrencies@1.0.0", + "description": "Retrieve the list of configured currencies in Zoho Books.\n\nThis tool retrieves the list of all currencies configured within Zoho Books. Use it when you need to know which currencies are set up in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required to retrieve currency data for a specific organization.", + "enum": null, + "inferrable": true + }, + { + "name": "exclude_base_currency_filter", + "type": "string", + "required": false, + "description": "Set to exclude the base currency from the result. Use 'Currencies.ExcludeBaseCurrency'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number of currency records to fetch. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of currency records to fetch per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_currencies'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListConfiguredCurrencies", + "parameters": { + "organization_id": { + "value": "6001234567890123456", + "type": "string", + "required": true + }, + "exclude_base_currency_filter": { + "value": "Currencies.ExcludeBaseCurrency", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListContactPersons", + "qualifiedName": "ZohoBooksApi.ListContactPersons", + "fullyQualifiedName": "ZohoBooksApi.ListContactPersons@1.0.0", + "description": "Retrieve contact persons for a given contact ID.\n\nUse this tool to list all contact persons associated with a specific contact ID, utilizing pagination.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the contact persons are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the contact to retrieve associated persons.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch when listing contact persons. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specifies the number of contact records to retrieve per page. The default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_contact_persons'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListContactPersons", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "contact_identifier": { + "value": "C-987654321", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCreditNoteInvoices", + "qualifiedName": "ZohoBooksApi.ListCreditNoteInvoices", + "fullyQualifiedName": "ZohoBooksApi.ListCreditNoteInvoices@1.0.0", + "description": "List invoices to which the credit note is applied.\n\nUse this tool to retrieve a list of invoices that are associated with a specific credit note.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which you want to list the invoices associated with the credit note.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve associated invoices.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoices_of_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCreditNoteInvoices", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCreditNoteRefunds", + "qualifiedName": "ZohoBooksApi.ListCreditNoteRefunds", + "fullyQualifiedName": "ZohoBooksApi.ListCreditNoteRefunds@1.0.0", + "description": "Retrieve refunds for a specific credit note.\n\nUse this tool to list all refunds associated with a particular credit note by specifying its ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve credit note refunds for.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve refunds for.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve in paginated results. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "results_per_page", + "type": "integer", + "required": false, + "description": "Number of records to return per page, controlling pagination. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_note_refunds1'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCreditNoteRefunds", + "parameters": { + "organization_id": { + "value": "667570000000012345", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "667570000000098765", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "results_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCreditNotes", + "qualifiedName": "ZohoBooksApi.ListCreditNotes", + "fullyQualifiedName": "ZohoBooksApi.ListCreditNotes@1.0.0", + "description": "Retrieve and filter a list of credit notes.\n\nRetrieve a paginated list of credit notes using filters and sorting based on date, status, amount, customer details, items, taxes, and custom fields.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which you want to list credit notes. Required for identification and retrieval.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_number", + "type": "string", + "required": false, + "description": "Filter credit notes by a specific credit note number. The number must be a unique identifier, up to 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_date", + "type": "string", + "required": false, + "description": "Filter credit notes by the date they were raised. Use yyyy-mm-dd format to search for specific credit notes.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_status", + "type": "string", + "required": false, + "description": "Specify the status to filter credit notes. Options include: 'open', 'closed', 'void', or 'draft'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_total_amount", + "type": "number", + "required": false, + "description": "Filter credit notes by their total amount. Input a specific total value to retrieve matching credit notes.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_reference_number", + "type": "string", + "required": false, + "description": "Filter credit notes by their reference number, limited to 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_name", + "type": "string", + "required": false, + "description": "Filter credit notes by customer name. Use to search for credit notes associated with a specific customer. Max-Length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_name", + "type": "string", + "required": false, + "description": "Search for credit notes by item name. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_id", + "type": "string", + "required": false, + "description": "Search for credit notes associated with a specific customer using the customer ID. Retrieve customer IDs from the contacts API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_description", + "type": "string", + "required": false, + "description": "Filter credit notes by item description. Use 'startswith:' or 'contains:' for flexible matching. Max length of 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "string", + "required": false, + "description": "Filter credit notes by item ID to find notes containing a specific item. Obtain item IDs from the items API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_line_item_id", + "type": "string", + "required": false, + "description": "Search for credit notes containing a specific line item using its ID.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_tax_id", + "type": "string", + "required": false, + "description": "Filter credit notes using a specific tax ID. Retrieve the tax ID from the taxes API.", + "enum": null, + "inferrable": true + }, + { + "name": "status_filter", + "type": "string", + "required": false, + "description": "Filter credit notes by status using predefined values: 'Status.All', 'Status.Open', 'Status.Draft', 'Status.Closed', 'Status.Void'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Search credit notes across multiple fields like credit note number, customer name, and reference number. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_credit_notes_by_column", + "type": "string", + "required": false, + "description": "Specify the column by which to sort the credit notes. Allowed values: 'customer_name', 'creditnote_number', 'balance', 'total', 'date', and 'created_time'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number for pagination. Specify which page of results to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of credit notes to be returned per page for pagination. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_credit_notes'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCreditNotes", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_number": { + "value": "CN-2026-0001", + "type": "string", + "required": false + }, + "filter_date": { + "value": "2026-02-01", + "type": "string", + "required": false + }, + "filter_by_status": { + "value": "open", + "type": "string", + "required": false + }, + "filter_by_total_amount": { + "value": 150.75, + "type": "integer", + "required": false + }, + "filter_by_reference_number": { + "value": "REF-98765", + "type": "string", + "required": false + }, + "filter_by_customer_name": { + "value": "Acme Corporation", + "type": "string", + "required": false + }, + "filter_by_item_name": { + "value": "Widget A", + "type": "string", + "required": false + }, + "filter_by_customer_id": { + "value": "CUST-000123", + "type": "string", + "required": false + }, + "filter_by_item_description": { + "value": "contains:extended warranty", + "type": "string", + "required": false + }, + "filter_by_item_id": { + "value": "ITEM-456", + "type": "string", + "required": false + }, + "filter_by_line_item_id": { + "value": "LINE-789", + "type": "string", + "required": false + }, + "filter_by_tax_id": { + "value": "TAX-001", + "type": "string", + "required": false + }, + "status_filter": { + "value": "Status.Open", + "type": "string", + "required": false + }, + "search_text": { + "value": "CN-2026 Acme REF-98765", + "type": "string", + "required": false + }, + "sort_credit_notes_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCurrencyAdjustmentAccounts", + "qualifiedName": "ZohoBooksApi.ListCurrencyAdjustmentAccounts", + "fullyQualifiedName": "ZohoBooksApi.ListCurrencyAdjustmentAccounts@1.0.0", + "description": "Retrieve accounts involved in currency adjustments.\n\nThis tool retrieves a list of accounts that have transactions affected by a specified exchange rate. Use this to find financial accounts needing currency adjustment.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which the currency adjustment accounts are needed.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_id_for_adjustment", + "type": "string", + "required": true, + "description": "ID of the currency to post an adjustment for. This specifies which currency is being adjusted.", + "enum": null, + "inferrable": true + }, + { + "name": "adjustment_date", + "type": "string", + "required": true, + "description": "Specify the date for the currency adjustment in YYYY-MM-DD format.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate", + "type": "number", + "required": true, + "description": "Specify the exchange rate for the currency to affect transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "adjustment_notes", + "type": "string", + "required": true, + "description": "Notes for the base currency adjustment, providing additional information or context.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_base_currency_adjustment_accounts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCurrencyAdjustmentAccounts", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "currency_id_for_adjustment": { + "value": "EUR", + "type": "string", + "required": true + }, + "adjustment_date": { + "value": "2026-02-15", + "type": "string", + "required": true + }, + "exchange_rate": { + "value": 1.12, + "type": "integer", + "required": true + }, + "adjustment_notes": { + "value": "Adjustment for EUR to base currency due to reported rate on 2026-02-15", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCurrencyExchangeRates", + "qualifiedName": "ZohoBooksApi.ListCurrencyExchangeRates", + "fullyQualifiedName": "ZohoBooksApi.ListCurrencyExchangeRates@1.0.0", + "description": "Retrieve exchange rates for a specific currency.\n\nThis tool fetches a list of configured exchange rates for a given currency using its ID. Call this tool to obtain exchange rate information associated with a particular currency.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to retrieve exchange rates.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the currency to retrieve exchange rates.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate_from_date", + "type": "string", + "required": false, + "description": "Date to start retrieving exchange rates. Returns rates from this date or nearest previous match.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Sorts the exchange rates by the specified column. Only 'effective_date' is allowed.", + "enum": null, + "inferrable": true + }, + { + "name": "return_current_date_exchange_rate_only", + "type": "boolean", + "required": false, + "description": "Set to true to return the exchange rate only if it's available for the current date.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_exchange_rates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCurrencyExchangeRates", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "currency_identifier": { + "value": "USD", + "type": "string", + "required": true + }, + "exchange_rate_from_date": { + "value": "2026-01-01", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "effective_date", + "type": "string", + "required": false + }, + "return_current_date_exchange_rate_only": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCustomerDebitNotes", + "qualifiedName": "ZohoBooksApi.ListCustomerDebitNotes", + "fullyQualifiedName": "ZohoBooksApi.ListCustomerDebitNotes@1.0.0", + "description": "Retrieve and organize customer debit notes easily.\n\nUse this tool to access customer debit notes with options for pagination, filtering, searching, and sorting, allowing you to view and organize debit note data efficiently.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for this request. Required for identifying the organization whose debit notes are being queried.", + "enum": null, + "inferrable": true + }, + { + "name": "search_item_name", + "type": "string", + "required": false, + "description": "Search debit notes based on product or service names. Supports 'item_name_startswith' and 'item_name_contains'. Max length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_id", + "type": "string", + "required": false, + "description": "Search for customer debit notes using a specific item ID to filter based on product or service identifiers.", + "enum": null, + "inferrable": true + }, + { + "name": "item_description_filter", + "type": "string", + "required": false, + "description": "Filter debit notes by item description using detailed descriptions of products or services. Supports 'startswith' and 'contains' variants. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_name", + "type": "string", + "required": false, + "description": "Search debit notes by customer name. Filters based on the business or individual name. Maximum 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_email_filter", + "type": "string", + "required": false, + "description": "Filter debit notes by customer email address, with a maximum length of 100 characters, to find specific customers or generate segment reports.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_total_amount", + "type": "string", + "required": false, + "description": "Filter debit notes by the total amount, including taxes, discounts, and adjustments. Useful for finding specific price ranges or high-value transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_outstanding_balance", + "type": "string", + "required": false, + "description": "Filter debit notes by the remaining unpaid amount owed by the customer. Useful for finding overdue debit notes, tracking receivables, or generating aging reports.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_custom_field", + "type": "string", + "required": false, + "description": "Filter debit notes using custom fields. Supports 'custom_field_startswith' and 'custom_field_contains' for searching specific text patterns.", + "enum": null, + "inferrable": true + }, + { + "name": "search_date_range", + "type": "string", + "required": false, + "description": "Filter debit notes by creation date using yyyy-mm-dd format. Supports variants: date_start, date_end, date_before, date_after.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_due_date", + "type": "string", + "required": false, + "description": "Search debit notes by due date using yyyy-mm-dd format. Supports 'due_date_start', 'due_date_end', 'due_date_before', and 'due_date_after' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "creation_date_filter", + "type": "string", + "required": false, + "description": "Filter debit notes by creation date. Use formats: 'yyyy-mm-dd', 'created_date_start', 'created_date_end', 'created_date_before', or 'created_date_after'.", + "enum": null, + "inferrable": true + }, + { + "name": "last_modified_timestamp", + "type": "string", + "required": false, + "description": "Filter debit notes modified after this timestamp in YYYY-MM-DDTHH:MM:SS-UTC format.", + "enum": null, + "inferrable": true + }, + { + "name": "status_filter", + "type": "string", + "required": false, + "description": "Filter debit notes by their status. Allowed values: sent, draft, overdue, paid, void, unpaid, partially_paid, viewed.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "string", + "required": false, + "description": "Search debit notes by the customer's unique identifier. Use the customer ID from the Contacts API to find all corresponding debit notes.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_debit_note_type", + "type": "string", + "required": false, + "description": "Set to 'Type.DebitNote' to filter debit notes specifically. Required for this search.", + "enum": null, + "inferrable": true + }, + { + "name": "general_search_text", + "type": "string", + "required": false, + "description": "Search debit notes by number, purchase order, or customer name. Max 100 characters. Useful for quick searches across multiple fields.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_debit_notes_by_column", + "type": "string", + "required": false, + "description": "Sort debit notes by a specific column. Allowed values: customer_name, debit_note_number, date, due_date, total, balance, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number to retrieve from paginated results. Default is 1. Use with `per_page` to navigate extensive debit note data efficiently.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of records to retrieve per page, up to a maximum of 200. The default value is 200. This helps manage data transfer efficiency.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_customer_debit_notes'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCustomerDebitNotes", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "search_item_name": { + "value": "item_name_contains:Widget", + "type": "string", + "required": false + }, + "search_by_item_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "item_description_filter": { + "value": "item_description_contains:high-performance aluminum", + "type": "string", + "required": false + }, + "search_by_customer_name": { + "value": "Acme Corporation", + "type": "string", + "required": false + }, + "customer_email_filter": { + "value": "billing@acme-corp.com", + "type": "string", + "required": false + }, + "search_by_total_amount": { + "value": "min:100.00,max:1000.00", + "type": "string", + "required": false + }, + "search_by_outstanding_balance": { + "value": "min:50.00,max:500.00", + "type": "string", + "required": false + }, + "search_by_custom_field": { + "value": "custom_field_contains:project-xyz", + "type": "string", + "required": false + }, + "search_date_range": { + "value": "date_start:2024-01-01,date_end:2024-12-31", + "type": "string", + "required": false + }, + "filter_due_date": { + "value": "due_date_start:2024-02-01,due_date_end:2024-02-28", + "type": "string", + "required": false + }, + "creation_date_filter": { + "value": "created_date_start:2024-01-01", + "type": "string", + "required": false + }, + "last_modified_timestamp": { + "value": "2025-01-15T13:45:30Z", + "type": "string", + "required": false + }, + "status_filter": { + "value": "overdue", + "type": "string", + "required": false + }, + "search_by_customer_id": { + "value": "CUST-987654", + "type": "string", + "required": false + }, + "filter_by_debit_note_type": { + "value": "Type.DebitNote", + "type": "string", + "required": false + }, + "general_search_text": { + "value": "DN-2024-0001 Acme", + "type": "string", + "required": false + }, + "sort_debit_notes_by_column": { + "value": "due_date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCustomerPaymentRefunds", + "qualifiedName": "ZohoBooksApi.ListCustomerPaymentRefunds", + "fullyQualifiedName": "ZohoBooksApi.ListCustomerPaymentRefunds@1.0.0", + "description": "Retrieve refunds for a specified customer payment.\n\nUse this tool to list all refunds related to a particular customer payment by providing the customer payment ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization. Required to specify which organization's data to access.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the customer payment to retrieve associated refunds.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to fetch. Defaults to 1 if not provided.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_customer_payment_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCustomerPaymentRefunds", + "parameters": { + "organization_id": { + "value": "org_669874321", + "type": "string", + "required": true + }, + "customer_payment_identifier": { + "value": "cp_20260218_ABC123", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCustomerPayments", + "qualifiedName": "ZohoBooksApi.ListCustomerPayments", + "fullyQualifiedName": "ZohoBooksApi.ListCustomerPayments@1.0.0", + "description": "List all payments made by your customers.\n\nUse this tool to retrieve a list of all the payments made by your customers. It is useful for financial analysis, reconciliation, or customer support purposes.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization. Required to specify which organization's payments to list.", + "enum": null, + "inferrable": true + }, + { + "name": "search_customer_name", + "type": "string", + "required": false, + "description": "Filter payments by customer name using 'startswith' or 'contains' variants. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_reference_number", + "type": "string", + "required": false, + "description": "Search payments by reference number. Supports 'startswith' and 'contains' variants. Max-length 100.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_date", + "type": "string", + "required": false, + "description": "Specify the date of the customer payment in YYYY-MM-DD format to filter results.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_amount_filter", + "type": "number", + "required": false, + "description": "Filter payments by amount using variants: less_than, less_equals, greater_than, or greater_equals.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_notes", + "type": "string", + "required": false, + "description": "Search payments using customer notes, supporting 'startswith' and 'contains' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_mode_filter", + "type": "string", + "required": false, + "description": "Filter payments by specifying the payment mode. Use 'startswith' or 'contains' for partial matching.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_payments_by_mode", + "type": "string", + "required": false, + "description": "Filter payments by the payment mode. Accepted values include: All, Check, Cash, BankTransfer, Paypal, CreditCard, GoogleCheckout, Credit, Authorizenet, BankRemittance, Payflowpro, Stripe, TwoCheckout, Braintree, Others.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_column", + "type": "string", + "required": false, + "description": "Specify the column to sort the payments by. Common options include date, amount, or customer name.", + "enum": null, + "inferrable": true + }, + { + "name": "search_term_for_payments", + "type": "string", + "required": false, + "description": "Search payments by reference number, customer name, or payment description. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_id", + "type": "string", + "required": false, + "description": "The unique identifier for the customer involved in the payment. Use this to target specific customer transactions.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "The page number of payment records to be retrieved. Defaults to 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to be fetched per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_customer_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCustomerPayments", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "search_customer_name": { + "value": "Acme Corp", + "type": "string", + "required": false + }, + "search_by_reference_number": { + "value": "PMT-2026-0001", + "type": "string", + "required": false + }, + "payment_date": { + "value": "2026-02-01", + "type": "string", + "required": false + }, + "payment_amount_filter": { + "value": 150.75, + "type": "integer", + "required": false + }, + "search_by_customer_notes": { + "value": "monthly subscription", + "type": "string", + "required": false + }, + "payment_mode_filter": { + "value": "CreditCard", + "type": "string", + "required": false + }, + "filter_payments_by_mode": { + "value": "CreditCard", + "type": "string", + "required": false + }, + "sort_column": { + "value": "date", + "type": "string", + "required": false + }, + "search_term_for_payments": { + "value": "subscription Feb", + "type": "string", + "required": false + }, + "customer_id": { + "value": "CUST-98765", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListCustomModuleRecords", + "qualifiedName": "ZohoBooksApi.ListCustomModuleRecords", + "fullyQualifiedName": "ZohoBooksApi.ListCustomModuleRecords@1.0.0", + "description": "Fetches records from a specified custom module.\n\nUse this tool to retrieve the list of records from a specific custom module in Zoho Books. Provide the module name to get the corresponding records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the Zoho organization to fetch records from.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_name", + "type": "string", + "required": true, + "description": "Name of the custom module from which to retrieve records in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_records_of_custom_module'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListCustomModuleRecords", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "custom_module_name": { + "value": "Client_Interactions", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListEstimates", + "qualifiedName": "ZohoBooksApi.ListEstimates", + "fullyQualifiedName": "ZohoBooksApi.ListEstimates@1.0.0", + "description": "Retrieve a list of all estimates with pagination.\n\nUse this tool to fetch all estimates, including pagination information, from Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Specifies the ID of the organization to filter the estimates.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_number_filter", + "type": "string", + "required": false, + "description": "Specify an estimate number or use variants like 'startswith' or 'contains' for partial matching to filter estimates.", + "enum": null, + "inferrable": true + }, + { + "name": "reference_number_filter", + "type": "string", + "required": false, + "description": "Filter or search estimates by their reference number. Supports partial matches using 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_name", + "type": "string", + "required": false, + "description": "Search estimates by customer's name with optional variants for partial matches, such as 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_filter", + "type": "number", + "required": false, + "description": "Specify a condition to search estimates by their total amount. Use variants like 'less_than', 'less_equals', 'greater_than', and 'greater_equals' for range queries.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_id", + "type": "string", + "required": false, + "description": "Filter or search estimates using the unique customer ID. Use the `customer_id` provided by the Contacts API for the same organization to retrieve estimates linked to a specific customer.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "string", + "required": false, + "description": "Filter or search estimates by the unique item ID. Use the item_id returned by the Items API for the same organization to find estimates including a specific product or service.", + "enum": null, + "inferrable": true + }, + { + "name": "item_name_filter", + "type": "string", + "required": false, + "description": "Search estimates by item name. Supports variants like 'item_name_startswith' and 'item_name_contains' for partial matches.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_description", + "type": "string", + "required": false, + "description": "Search estimates by item description. Use variants 'item_description_startswith' and 'item_description_contains' for pattern matching.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_custom_field", + "type": "string", + "required": false, + "description": "Search estimates by a custom field, supporting variants like 'startswith' or 'contains' for partial matches. Useful for identifying estimates linked to specific custom data.", + "enum": null, + "inferrable": true + }, + { + "name": "expiry_date", + "type": "string", + "required": false, + "description": "Specify the expiration date of the estimates to filter the results. Use the format YYYY-MM-DD.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_date_filter", + "type": "string", + "required": false, + "description": "Search estimates by date using variants like 'date_start', 'date_end', 'date_before', or 'date_after'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_status_filter", + "type": "string", + "required": false, + "description": "Filter estimates by status. Allowed values: draft, sent, invoiced, accepted, declined, expired.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_estimates_by_status", + "type": "string", + "required": false, + "description": "Specify the status to filter estimates. Allowed values: Status.All, Status.Sent, Status.Draft, Status.Invoiced, Status.Accepted, Status.Declined, Status.Expired.", + "enum": null, + "inferrable": true + }, + { + "name": "keyword_search", + "type": "string", + "required": false, + "description": "Keyword search across estimate number, reference number, or customer name to quickly find matching estimates.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_estimates_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort estimates by. Options: customer_name, estimate_number, date, total, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "deal_potential_id", + "type": "integer", + "required": false, + "description": "Potential ID of a Deal in CRM. Use this to filter estimates linked to specific deals.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to fetch. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_estimates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListEstimates", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "estimate_number_filter": { + "value": "startswith:EST-2026", + "type": "string", + "required": false + }, + "reference_number_filter": { + "value": "contains:REF-100", + "type": "string", + "required": false + }, + "customer_name": { + "value": "contains:Acme Corporation", + "type": "string", + "required": false + }, + "total_filter": { + "value": "greater_than:1000.00", + "type": "integer", + "required": false + }, + "filter_by_customer_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "filter_by_item_id": { + "value": "555666", + "type": "string", + "required": false + }, + "item_name_filter": { + "value": "item_name_contains:Hosting", + "type": "string", + "required": false + }, + "search_by_item_description": { + "value": "item_description_startswith:Premium", + "type": "string", + "required": false + }, + "search_by_custom_field": { + "value": "custom_field_1_contains:ProjectX", + "type": "string", + "required": false + }, + "expiry_date": { + "value": "2026-12-31", + "type": "string", + "required": false + }, + "estimate_date_filter": { + "value": "date_start:2026-01-01;date_end:2026-06-30", + "type": "string", + "required": false + }, + "estimate_status_filter": { + "value": "sent", + "type": "string", + "required": false + }, + "filter_estimates_by_status": { + "value": "Status.Sent", + "type": "string", + "required": false + }, + "keyword_search": { + "value": "urgent migration", + "type": "string", + "required": false + }, + "sort_estimates_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "deal_potential_id": { + "value": 12345, + "type": "integer", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListExpenses", + "qualifiedName": "ZohoBooksApi.ListExpenses", + "fullyQualifiedName": "ZohoBooksApi.ListExpenses@1.0.0", + "description": "Retrieve a list of expenses with pagination.\n\nUse this tool to get a paginated list of all expenses recorded in the system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization whose expenses are being queried.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_description", + "type": "string", + "required": false, + "description": "Search expenses by description, supports 'description_startswith' and 'description_contains'. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_reference_number", + "type": "string", + "required": false, + "description": "Search expenses by part or complete reference number using 'startswith' or 'contains'. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_date", + "type": "string", + "required": false, + "description": "Search expenses by expense date. Use variants: date_start, date_end, date_before, or date_after. Format [yyyy-mm-dd].", + "enum": null, + "inferrable": true + }, + { + "name": "expense_status", + "type": "string", + "required": false, + "description": "Search expenses by status. Allowed values: unbilled, invoiced, reimbursed, non-billable, billable.", + "enum": null, + "inferrable": true + }, + { + "name": "amount_filter", + "type": "number", + "required": false, + "description": "Search expenses by amount using the variants: less_than, less_equals, greater_than, or greater_equals.", + "enum": null, + "inferrable": true + }, + { + "name": "search_expense_account_name", + "type": "string", + "required": false, + "description": "Search expenses by account name. Use 'startswith:' or 'contains:'. Max length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_name_filter", + "type": "string", + "required": false, + "description": "Filter expenses by customer name. Supports 'startswith' and 'contains' variants. Max length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_name_filter", + "type": "string", + "required": false, + "description": "Filter expenses by vendor name using 'vendor_name_startswith' or 'vendor_name_contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_account_customer_id", + "type": "string", + "required": false, + "description": "The ID of the expense account for the customer. Use this to filter expenses specific to a customer's account.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_id", + "type": "string", + "required": false, + "description": "ID of the vendor associated with the expense.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": false, + "description": "The ID used to search for expenses associated with a recurring expense.", + "enum": null, + "inferrable": true + }, + { + "name": "paid_through_account_id", + "type": "string", + "required": false, + "description": "The ID of the account through which the expense was paid.", + "enum": null, + "inferrable": true + }, + { + "name": "search_expenses_text", + "type": "string", + "required": false, + "description": "Search expenses by account name, description, customer name, or vendor name. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_expenses_by", + "type": "string", + "required": false, + "description": "Sort expenses by the specified column. Allowed values: date, account_name, total, bcy_total, reference_number, customer_name, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_status_filter", + "type": "string", + "required": false, + "description": "Filter expenses by status. Allowed values: 'Status.All', 'Status.Billable', 'Status.Nonbillable', 'Status.Reimbursed', 'Status.Invoiced', 'Status.Unbilled'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to fetch, with the default starting at 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of expense records to fetch per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_expenses'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListExpenses", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "search_by_description": { + "value": "description_contains:Client meeting", + "type": "string", + "required": false + }, + "search_by_reference_number": { + "value": "startswith:EXP-2026", + "type": "string", + "required": false + }, + "filter_by_date": { + "value": "date_start:2026-01-01,date_end:2026-01-31", + "type": "string", + "required": false + }, + "expense_status": { + "value": "unbilled", + "type": "string", + "required": false + }, + "amount_filter": { + "value": 150, + "type": "integer", + "required": false + }, + "search_expense_account_name": { + "value": "contains:Travel", + "type": "string", + "required": false + }, + "customer_name_filter": { + "value": "contains:Acme Corp", + "type": "string", + "required": false + }, + "vendor_name_filter": { + "value": "vendor_name_contains:Globex", + "type": "string", + "required": false + }, + "expense_account_customer_id": { + "value": "54321", + "type": "string", + "required": false + }, + "vendor_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "recurring_expense_id": { + "value": "rec-exp-001", + "type": "string", + "required": false + }, + "paid_through_account_id": { + "value": "acct-202", + "type": "string", + "required": false + }, + "search_expenses_text": { + "value": "client travel", + "type": "string", + "required": false + }, + "sort_expenses_by": { + "value": "date", + "type": "string", + "required": false + }, + "expense_status_filter": { + "value": "Status.Billable", + "type": "string", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListInventoryLocations", + "qualifiedName": "ZohoBooksApi.ListInventoryLocations", + "fullyQualifiedName": "ZohoBooksApi.ListInventoryLocations@1.0.0", + "description": "Retrieve all available locations from Zoho Inventory.\n\nUse this tool to get a comprehensive list of all the available locations in your Zoho Inventory. It should be called when you need to access inventory location details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_locations'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListInventoryLocations", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListInvoiceTemplates", + "qualifiedName": "ZohoBooksApi.ListInvoiceTemplates", + "fullyQualifiedName": "ZohoBooksApi.ListInvoiceTemplates@1.0.0", + "description": "Fetch all invoice PDF templates from Zoho Books.\n\nThis tool retrieves a list of all available invoice PDF templates in Zoho Books. Use this to access template options for invoices.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to fetch invoice templates for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_invoice_templates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListInvoiceTemplates", + "parameters": { + "organization_id": { + "value": "6000000000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListOrganizations", + "qualifiedName": "ZohoBooksApi.ListOrganizations", + "fullyQualifiedName": "ZohoBooksApi.ListOrganizations@1.0.0", + "description": "Retrieve the list of organizations from Zoho Books.\n\nUse this tool to obtain a list of all organizations associated with the user's Zoho Books account. It is useful for managing and accessing organization-specific data or settings.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization to list details for.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_organizations'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListOrganizations", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListProjectInvoices", + "qualifiedName": "ZohoBooksApi.ListProjectInvoices", + "fullyQualifiedName": "ZohoBooksApi.ListProjectInvoices@1.0.0", + "description": "Retrieve invoices for a specific project in Zoho Books.\n\nCall this endpoint to obtain a list of all invoices associated with a particular project within Zoho Books. This tool is useful when you need to review or manage billing details for project-based work.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This is required to access the specific organization's project invoices.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific project to retrieve invoices for.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_invoices_by", + "type": "string", + "required": false, + "description": "Specify the column to sort invoices by. Options are: 'invoice_number', 'date', 'total', 'balance', 'created_time'.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve from the list of invoices. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "The number of invoice records to fetch per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_project_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListProjectInvoices", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "project_unique_identifier": { + "value": "proj_98765abc", + "type": "string", + "required": true + }, + "sort_invoices_by": { + "value": "date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListProjects", + "qualifiedName": "ZohoBooksApi.ListProjects", + "fullyQualifiedName": "ZohoBooksApi.ListProjects@1.0.0", + "description": "Retrieve a list of all projects with pagination.\n\nThis tool is used to get a list of all projects from Zoho Books, with support for pagination. Call this tool to retrieve project data when managing tasks or resources.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which to list projects.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_projects_by_status", + "type": "string", + "required": false, + "description": "Filter projects by status. Use Status.All, Status.Active, or Status.Inactive.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "string", + "required": false, + "description": "Search projects using the customer's ID to filter results.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_projects_by", + "type": "string", + "required": false, + "description": "Sort projects by project name, customer name, rate, or created time.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Defaults to 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_projects'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListProjects", + "parameters": { + "organization_id": { + "value": "679012345678901", + "type": "string", + "required": true + }, + "filter_projects_by_status": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "search_by_customer_id": { + "value": "54321", + "type": "string", + "required": false + }, + "sort_projects_by": { + "value": "project_name", + "type": "string", + "required": false + }, + "page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListProjectUsers", + "qualifiedName": "ZohoBooksApi.ListProjectUsers", + "fullyQualifiedName": "ZohoBooksApi.ListProjectUsers@1.0.0", + "description": "Get a list of users associated with a project.\n\nUse this tool to retrieve users linked to a specific project in Zoho Books. This is useful for managing project collaborations and assignments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID representing the organization in Zoho Books. Required to access project users.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the project to retrieve associated users.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_project_users'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListProjectUsers", + "parameters": { + "organization_id": { + "value": "600123456789012345", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "PROJ-2026-001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListPurchaseOrders", + "qualifiedName": "ZohoBooksApi.ListPurchaseOrders", + "fullyQualifiedName": "ZohoBooksApi.ListPurchaseOrders@1.0.0", + "description": "Retrieve a list of all purchase orders.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization to filter purchase orders.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_purchaseorder_number", + "type": "string", + "required": false, + "description": "Search purchase order by number. Supports exact, starts with, and contains variants.", + "enum": null, + "inferrable": true + }, + { + "name": "reference_number_search", + "type": "string", + "required": false, + "description": "Search for a purchase order using the exact or partial reference number. Supports 'startswith' and 'contains' methods.", + "enum": null, + "inferrable": true + }, + { + "name": "creation_date", + "type": "string", + "required": false, + "description": "Creation date for purchase order search in YYYY-MM-DD format.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_status", + "type": "string", + "required": false, + "description": "Filter purchase orders by status. Options: draft, open, billed, cancelled.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_description", + "type": "string", + "required": false, + "description": "Search purchase orders by item description. Use partial matches or specific description. Includes variants like 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_name", + "type": "string", + "required": false, + "description": "Search purchase orders by vendor name with optional 'startswith' or 'contains' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "total_amount_filter", + "type": "number", + "required": false, + "description": "Filter purchase orders by total amount. Use options like 'start', 'end', 'less_than', 'less_equals', 'greater_than', 'greater_equals' to specify the range or comparison.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_identifier", + "type": "string", + "required": false, + "description": "Specify the unique ID of the vendor to filter purchase orders. Useful for grouping POs by a specific vendor.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_modified_time", + "type": "string", + "required": false, + "description": "ISO 8601 format (YYYY-MM-DDTHH:MM:SS±HH:MM) to filter POs by last modified time. For finding recently updated POs.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_id", + "type": "string", + "required": false, + "description": "Search purchase orders using the unique item ID to find POs containing a specific item.", + "enum": null, + "inferrable": true + }, + { + "name": "status_filter", + "type": "string", + "required": false, + "description": "Filter purchase orders by status. Use 'Status.All', 'Status.Draft', 'Status.Open', 'Status.Billed', or 'Status.Cancelled'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_purchase_order_text", + "type": "string", + "required": false, + "description": "Search for purchase orders by number, reference, or vendor name. Allows general searching across multiple fields for quick lookup.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Column to sort purchase orders by. Options: vendor_name, purchaseorder_number, date, delivery_date, total, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_custom_field", + "type": "string", + "required": false, + "description": "Search purchase orders using custom field criteria. Supports 'startswith' and 'contains' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to fetch, with a default value of 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specifies the number of purchase orders to retrieve per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_purchase_orders'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListPurchaseOrders", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "search_by_purchaseorder_number": { + "value": "startswith:PO-2026-", + "type": "string", + "required": false + }, + "reference_number_search": { + "value": "contains:REF-9876", + "type": "string", + "required": false + }, + "creation_date": { + "value": "2026-02-01", + "type": "string", + "required": false + }, + "purchase_order_status": { + "value": "open", + "type": "string", + "required": false + }, + "search_by_item_description": { + "value": "contains:steel bolts", + "type": "string", + "required": false + }, + "vendor_name": { + "value": "contains:Acme Supplies", + "type": "string", + "required": false + }, + "total_amount_filter": { + "value": 1500, + "type": "integer", + "required": false + }, + "vendor_identifier": { + "value": "VENDOR12345", + "type": "string", + "required": false + }, + "search_by_last_modified_time": { + "value": "2026-02-17T09:15:00-05:00", + "type": "string", + "required": false + }, + "search_by_item_id": { + "value": "ITEM67890", + "type": "string", + "required": false + }, + "status_filter": { + "value": "Status.Open", + "type": "string", + "required": false + }, + "search_purchase_order_text": { + "value": "Acme Supplies PO", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "search_by_custom_field": { + "value": "startswith:ProjectX", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListRecurringExpenses", + "qualifiedName": "ZohoBooksApi.ListRecurringExpenses", + "fullyQualifiedName": "ZohoBooksApi.ListRecurringExpenses@1.0.0", + "description": "Retrieve all recurring expenses from your records.\n\nUse this tool to fetch a list of all recurring expenses. Ideal for situations where you need to review or manage periodic expenses systematically.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization whose recurring expenses need to be listed.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_name_filter", + "type": "string", + "required": false, + "description": "Filter recurring expenses by name using either 'startswith' or 'contains'. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_created_date", + "type": "string", + "required": false, + "description": "Filter recurring expenses based on last generated expense date. Use formats: last_created_date_start, last_created_date_end, last_created_date_before, last_created_date_after with date [yyyy-mm-dd].", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_next_expense_date", + "type": "string", + "required": false, + "description": "Filter recurring expenses by dates related to the next expected expense. Options include 'next_expense_date_start', 'next_expense_date_end', 'next_expense_date_before', and 'next_expense_date_after'. Format is 'yyyy-mm-dd'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_status", + "type": "string", + "required": false, + "description": "Specify the status of expenses to search for. Allowed values are 'active', 'stopped', and 'expired'.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id_for_expense", + "type": "string", + "required": false, + "description": "Specify the unique identifier for the expense account to filter expenses associated with it.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_account_name", + "type": "string", + "required": false, + "description": "Search expenses by account name with options for exact match or partial match using 'startswith' and 'contains'. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "amount_filter", + "type": "number", + "required": false, + "description": "Specify a filter for expense amounts, such as 'amount_less_than', 'amount_less_equals', 'amount_greater_than', or 'amount_greater_than'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_name", + "type": "string", + "required": false, + "description": "Search recurring expenses by customer name. Use variants 'customer_name_startswith' or 'customer_name_contains'. Max 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_customer_id", + "type": "string", + "required": false, + "description": "Specify the customer ID to search expenses associated with that customer.", + "enum": null, + "inferrable": true + }, + { + "name": "paid_through_account_id", + "type": "string", + "required": false, + "description": "ID of the account through which the expense was paid. Used to filter expenses.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_status_filter", + "type": "string", + "required": false, + "description": "Filter recurring expenses by their status. Use 'Status.All', 'Status.Active', 'Status.Expired', or 'Status.Stopped'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_expenses_by_text", + "type": "string", + "required": false, + "description": "Specify text to search expenses by account name, description, customer name, or vendor name. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_expenses_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort expenses by. Allowed values: next_expense_date, account_name, total, last_created_date, recurrence_name, customer_name, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "The page number of records to retrieve, starting from 1. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify how many records to retrieve per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_expenses'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListRecurringExpenses", + "parameters": { + "organization_id": { + "value": "org_1234567890", + "type": "string", + "required": true + }, + "recurring_expense_name_filter": { + "value": "contains:Office Supplies", + "type": "string", + "required": false + }, + "search_by_last_created_date": { + "value": "last_created_date_after=2023-12-01", + "type": "string", + "required": false + }, + "filter_by_next_expense_date": { + "value": "next_expense_date_start=2024-02-01", + "type": "string", + "required": false + }, + "expense_status": { + "value": "active", + "type": "string", + "required": false + }, + "account_id_for_expense": { + "value": "acc_987654321", + "type": "string", + "required": false + }, + "filter_by_account_name": { + "value": "startswith:Office", + "type": "string", + "required": false + }, + "amount_filter": { + "value": 500, + "type": "integer", + "required": false + }, + "search_by_customer_name": { + "value": "customer_name_contains:Acme", + "type": "string", + "required": false + }, + "search_by_customer_id": { + "value": "cust_246810", + "type": "string", + "required": false + }, + "paid_through_account_id": { + "value": "payacc_112233", + "type": "string", + "required": false + }, + "expense_status_filter": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "search_expenses_by_text": { + "value": "office supplies monthly", + "type": "string", + "required": false + }, + "sort_expenses_by_column": { + "value": "next_expense_date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListRecurringInvoices", + "qualifiedName": "ZohoBooksApi.ListRecurringInvoices", + "fullyQualifiedName": "ZohoBooksApi.ListRecurringInvoices@1.0.0", + "description": "Retrieve details of all recurring invoices.\n\nUse this tool to get detailed information on all recurring invoices. Ideal for managing invoicing schedules and monitoring recurring payments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which you want to list the recurring invoices. Required for accessing specific organization's data.", + "enum": null, + "inferrable": true + }, + { + "name": "recurrence_unique_name", + "type": "string", + "required": false, + "description": "Unique name for the recurring profile, provided by the user. Max-length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_name", + "type": "string", + "required": false, + "description": "Search recurring invoices by item name, using 'item_name_startswith' or 'profileitemname_contains' variants.", + "enum": null, + "inferrable": true + }, + { + "name": "item_description_filter", + "type": "string", + "required": false, + "description": "Search for recurring invoices by item description using 'startswith' or 'contains' criteria.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_name", + "type": "string", + "required": false, + "description": "Name of the customer for whom the recurring invoice is raised. Use this to filter invoices by customer.", + "enum": null, + "inferrable": true + }, + { + "name": "line_item_id", + "type": "string", + "required": false, + "description": "Specify the line item ID for filtering recurring invoices.", + "enum": null, + "inferrable": true + }, + { + "name": "item_id", + "type": "string", + "required": false, + "description": "Unique identifier for the item associated with the recurring invoice.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_identifier", + "type": "string", + "required": false, + "description": "ID of the tax or tax group associated with the recurring invoice.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_note", + "type": "string", + "required": false, + "description": "A short note for the recurring invoice, providing additional details or context.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_start_date", + "type": "string", + "required": false, + "description": "The date on which the recurring invoice starts. Format: YYYY-MM-DD.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_end_date", + "type": "string", + "required": false, + "description": "The date when the recurring invoice expires, formatted as YYYY-MM-DD.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_id", + "type": "string", + "required": false, + "description": "The ID of the customer for whom the recurring invoice is raised. Use this to filter invoices specific to a customer.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_status", + "type": "string", + "required": false, + "description": "Status of the recurring invoice: 'active', 'stopped', or 'expired'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_recurring_invoice_status", + "type": "string", + "required": false, + "description": "Filter recurring invoices by status or payment expected date. Allowed values: Status.All, Status.Active, Status.Stopped, Status.Expired.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Search invoices by invoice number, purchase order, or customer name. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort the recurring invoices by. Leave empty for no sorting.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "The page number to fetch, with a default value of 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to retrieve per page, with a default of 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_recurring_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListRecurringInvoices", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "recurrence_unique_name": { + "value": "monthly-maintenance", + "type": "string", + "required": false + }, + "search_by_item_name": { + "value": "item_name_startswith", + "type": "string", + "required": false + }, + "item_description_filter": { + "value": "contains", + "type": "string", + "required": false + }, + "customer_name": { + "value": "Acme Corporation", + "type": "string", + "required": false + }, + "line_item_id": { + "value": "LI_001234", + "type": "string", + "required": false + }, + "item_id": { + "value": "ITM_98765", + "type": "string", + "required": false + }, + "tax_identifier": { + "value": "TAX_001", + "type": "string", + "required": false + }, + "invoice_note": { + "value": "Monthly subscription for managed services", + "type": "string", + "required": false + }, + "recurring_invoice_start_date": { + "value": "2024-01-01", + "type": "string", + "required": false + }, + "recurring_invoice_end_date": { + "value": "2024-12-31", + "type": "string", + "required": false + }, + "customer_id": { + "value": "CUST_1001", + "type": "string", + "required": false + }, + "recurring_invoice_status": { + "value": "active", + "type": "string", + "required": false + }, + "filter_recurring_invoice_status": { + "value": "Status.Active", + "type": "string", + "required": false + }, + "search_text": { + "value": "INV-2024-", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "next_invoice_date", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListRetainerInvoices", + "qualifiedName": "ZohoBooksApi.ListRetainerInvoices", + "fullyQualifiedName": "ZohoBooksApi.ListRetainerInvoices@1.0.0", + "description": "List all retainer invoices with pagination.\n\nRetrieve a complete list of retainer invoices. Use this tool to access invoices with pagination support.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specifies the column to sort retainer invoices by. Allowed values: 'customer_name', 'retainer_invoice_number', 'date', 'due_date', 'total', 'balance', 'created_time'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_invoices_by_status_or_date", + "type": "string", + "required": false, + "description": "Filter invoices by status or payment expected date. Valid values: Status.All, Status.Sent, Status.Draft, Status.OverDue, Status.Paid, Status.Void, Status.Unpaid, Status.PartiallyPaid, Status.Viewed, Date.PaymentExpectedDate.", + "enum": null, + "inferrable": true + }, + { + "name": "sorting_order", + "type": "string", + "required": false, + "description": "The order for sorting retainer invoices. Typically 'asc' for ascending or 'desc' for descending.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specifies the page number for pagination when listing retainer invoices.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to print the exported PDF of retainer invoices.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_retainer_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListRetainerInvoices", + "parameters": { + "organization_id": { + "value": "6681234567890123456", + "type": "string", + "required": true + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "filter_invoices_by_status_or_date": { + "value": "Status.Sent", + "type": "string", + "required": false + }, + "sorting_order": { + "value": "desc", + "type": "string", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + }, + "print_pdf": { + "value": false, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListSalesOrders", + "qualifiedName": "ZohoBooksApi.ListSalesOrders", + "fullyQualifiedName": "ZohoBooksApi.ListSalesOrders@1.0.0", + "description": "Retrieve a list of all sales orders.\n\nUse this tool to get a complete list of sales orders. It helps in managing and reviewing sales transactions efficiently.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization for which sales orders are to be listed.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_column", + "type": "string", + "required": false, + "description": "Column field to sort sales order results. Options: customer_name, salesorder_number, shipment_date, last_modified_time, reference_number, total, date, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "cross_field_search_text", + "type": "string", + "required": false, + "description": "A general search term for matching text across fields like sales order number, reference number, and customer name for quick identification.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_sales_order_by_status", + "type": "string", + "required": false, + "description": "Filter sales orders by status. Options: All, Open, Draft, OverDue, PartiallyInvoiced, Invoiced, Void, Closed.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_sales_order_number", + "type": "string", + "required": false, + "description": "Filter sales orders by sales order number with operators: startswith, not_in, in, or contains. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_name", + "type": "string", + "required": false, + "description": "Filter sales orders by line item name. Use matching operators like startswith, not_in, in, and contains. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "string", + "required": false, + "description": "Filter sales orders by a specific line item identifier to retrieve orders containing a particular product or service.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_description", + "type": "string", + "required": false, + "description": "Filter sales orders by line item description. Supports variants like startswith, not_in, in, and contains. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_reference_number", + "type": "string", + "required": false, + "description": "Filter sales orders by external reference number using operators like `startswith`, `not_in`, `in`, and `contains`.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_name_filter", + "type": "string", + "required": false, + "description": "Filter sales orders by customer name with operators like startswith, not_in, in, and contains. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_total", + "type": "number", + "required": false, + "description": "Specify range operators to filter sales orders by total. Use total_start, total_end, total_less_than, total_greater_than, etc.", + "enum": null, + "inferrable": true + }, + { + "name": "creation_date_filter", + "type": "string", + "required": false, + "description": "Filter sales orders by creation date using operators like `date_start`, `date_end`, `date_before`, `date_after`. Format: `yyyy-mm-dd`.", + "enum": null, + "inferrable": true + }, + { + "name": "shipment_date_filter", + "type": "string", + "required": false, + "description": "Specify the shipment date filter for sales orders. Use variants such as 'shipment_date_start', 'shipment_date_end', 'shipment_date_before', and 'shipment_date_after' in 'yyyy-mm-dd' format.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_status", + "type": "string", + "required": false, + "description": "Filter sales orders by their status. Allowed values: draft, open, invoiced, partially_invoiced, void, and overdue.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_id", + "type": "string", + "required": false, + "description": "Filter sales orders by specific customer ID. Retrieves orders associated with a customer for CRM and reporting.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_representative_id", + "type": "string", + "required": false, + "description": "Filter sales orders by specific sales representative ID for tracking and reporting purposes.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_ids", + "type": "string", + "required": false, + "description": "Comma-separated list of sales order IDs to filter results. Maximum length is 200 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "last_modified_time", + "type": "string", + "required": false, + "description": "Specify the last modified time of the sales order to filter results. Use the format 'yyyy-mm-dd'.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specifies the format for sales order details. Must be one of: json, csv, xml, xls, xlsx, pdf, jhtml, or html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_view_id", + "type": "string", + "required": false, + "description": "ID of the custom view to filter sales orders based on predefined criteria.", + "enum": null, + "inferrable": true + }, + { + "name": "deal_crm_potential_id", + "type": "integer", + "required": false, + "description": "Potential ID of a Deal in CRM. Used to filter sales orders associated with a specific deal.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number for retrieving paginated sales order results. Default is 1 for the first page.", + "enum": null, + "inferrable": true + }, + { + "name": "max_sales_orders_per_page", + "type": "integer", + "required": false, + "description": "Specify the maximum number of sales order records to return per page. Default is 200 for optimal performance and memory usage.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_printing", + "type": "boolean", + "required": false, + "description": "Enable printing of the exported PDF. Use when 'accept' is set to 'pdf' and 'salesorder_ids' includes values.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_sales_orders'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListSalesOrders", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "sort_column": { + "value": "last_modified_time", + "type": "string", + "required": false + }, + "cross_field_search_text": { + "value": "SO-2026-001", + "type": "string", + "required": false + }, + "filter_sales_order_by_status": { + "value": "Open", + "type": "string", + "required": false + }, + "filter_by_sales_order_number": { + "value": "startswith:SO-2026", + "type": "string", + "required": false + }, + "filter_by_item_name": { + "value": "contains:Widget Pro", + "type": "string", + "required": false + }, + "filter_by_item_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "filter_by_item_description": { + "value": "contains:expedited", + "type": "string", + "required": false + }, + "filter_by_reference_number": { + "value": "in:REF-1001,REF-1002", + "type": "string", + "required": false + }, + "customer_name_filter": { + "value": "startswith:Acme", + "type": "string", + "required": false + }, + "filter_by_total": { + "value": "total_start:100.00,total_end:1000.00", + "type": "integer", + "required": false + }, + "creation_date_filter": { + "value": "date_start:2026-01-01,date_end:2026-01-31", + "type": "string", + "required": false + }, + "shipment_date_filter": { + "value": "shipment_date_start:2026-02-01,shipment_date_end:2026-02-28", + "type": "string", + "required": false + }, + "sales_order_status": { + "value": "open", + "type": "string", + "required": false + }, + "filter_by_customer_id": { + "value": "1001", + "type": "string", + "required": false + }, + "sales_representative_id": { + "value": 5002, + "type": "string", + "required": false + }, + "sales_order_ids": { + "value": "SOID1001,SOID1002,SOID1003", + "type": "string", + "required": false + }, + "last_modified_time": { + "value": "2026-02-15", + "type": "string", + "required": false + }, + "response_format": { + "value": "json", + "type": "string", + "required": false + }, + "custom_view_id": { + "value": "cv_200", + "type": "string", + "required": false + }, + "deal_crm_potential_id": { + "value": 3001, + "type": "integer", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "max_sales_orders_per_page": { + "value": 100, + "type": "integer", + "required": false + }, + "enable_printing": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListSalesReceipts", + "qualifiedName": "ZohoBooksApi.ListSalesReceipts", + "fullyQualifiedName": "ZohoBooksApi.ListSalesReceipts@1.0.0", + "description": "Retrieve a list of all sales receipts.\n\nUse this tool to obtain a comprehensive list of all sales receipts. It should be called when there's a need to review or analyze sales transaction records.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to list sales receipts.", + "enum": null, + "inferrable": true + }, + { + "name": "search_receipt_by_number", + "type": "string", + "required": false, + "description": "Search for receipts using their unique number. Supports 'startswith' and 'contains' filters. Max length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_item_name", + "type": "string", + "required": false, + "description": "Search sales receipts by item name using 'startswith' or 'contains' variants. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort sales receipts by. Options: customer_name, receipt_number, date, total, created_time.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_sales_receipts_by_status", + "type": "string", + "required": false, + "description": "Filter sales receipts based on their status. Options include date ranges like 'ThisWeek', and statuses like 'Status.Draft'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_identifier", + "type": "string", + "required": false, + "description": "Filter sales receipts by specific customer identifier. Provide the unique ID of the customer to retrieve their sales receipts.", + "enum": null, + "inferrable": true + }, + { + "name": "date_filter", + "type": "string", + "required": false, + "description": "Filter sales receipts by date using variants like date_start, date_end, date_before, and date_after. Use yyyy-mm-dd format.", + "enum": null, + "inferrable": true + }, + { + "name": "total_filter_options", + "type": "number", + "required": false, + "description": "Filter sales receipts using range operators like total_start, total_end, total_less_than, and total_greater_than. Expects a number specifying the total amount.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Specify the page number for retrieving paginated sales receipt results. Defaults to 1.", + "enum": null, + "inferrable": true + }, + { + "name": "max_records_per_page", + "type": "integer", + "required": false, + "description": "Specify the maximum number of sales receipt records to return per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_sales_receipts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListSalesReceipts", + "parameters": { + "organization_id": { + "value": "66881500000012345", + "type": "string", + "required": true + }, + "search_receipt_by_number": { + "value": "startswith:SR-2026", + "type": "string", + "required": false + }, + "search_by_item_name": { + "value": "contains:Widget", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "filter_sales_receipts_by_status": { + "value": "ThisMonth", + "type": "string", + "required": false + }, + "customer_identifier": { + "value": "66881500000054321", + "type": "string", + "required": false + }, + "date_filter": { + "value": "date_start:2026-01-01,date_end:2026-01-31", + "type": "string", + "required": false + }, + "total_filter_options": { + "value": 100, + "type": "integer", + "required": false + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "max_records_per_page": { + "value": 200, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListTaxes", + "qualifiedName": "ZohoBooksApi.ListTaxes", + "fullyQualifiedName": "ZohoBooksApi.ListTaxes@1.0.0", + "description": "Retrieve a list of simple and compound taxes.\n\nUse this tool to get a list of simple and compound taxes available in the system, with options for pagination.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique ID of the organization to list taxes for.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number of the tax list to retrieve. Defaults to 1 if not specified.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "The number of tax records to retrieve per page. Defaults to 200 if not specified.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_taxes'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListTaxes", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListTimeEntries", + "qualifiedName": "ZohoBooksApi.ListTimeEntries", + "fullyQualifiedName": "ZohoBooksApi.ListTimeEntries@1.0.0", + "description": "Retrieve all time entries with pagination.\n\nCall this tool to get a list of all time entries for projects, supporting pagination if needed.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. Required to retrieve time entries specific to this organization.", + "enum": null, + "inferrable": true + }, + { + "name": "start_date_for_time_entries", + "type": "string", + "required": false, + "description": "Date from which the time entries should start being fetched. Expected format is YYYY-MM-DD.", + "enum": null, + "inferrable": true + }, + { + "name": "end_date_for_time_entries", + "type": "string", + "required": false, + "description": "The end date for fetching logged time entries in YYYY-MM-DD format.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_time_entries_by", + "type": "string", + "required": false, + "description": "Filter time entries by date or status. Use values like Date.Today, Date.ThisMonth, Status.Unbilled, etc.", + "enum": null, + "inferrable": true + }, + { + "name": "project_id", + "type": "string", + "required": false, + "description": "Search for time entries by specifying the project ID.", + "enum": null, + "inferrable": true + }, + { + "name": "search_time_entries_by_user_id", + "type": "string", + "required": false, + "description": "Search and filter time entries based on a specific user's ID. Provide the ID as a string.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_time_entries_by", + "type": "string", + "required": false, + "description": "Sort time entries by project name, task name, user name, log date, timer start time, or customer name.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Page number to retrieve time entries from, starting at 1 by default.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Defaults to 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_time_entries'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListTimeEntries", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "start_date_for_time_entries": { + "value": "2026-01-01", + "type": "string", + "required": false + }, + "end_date_for_time_entries": { + "value": "2026-01-31", + "type": "string", + "required": false + }, + "filter_time_entries_by": { + "value": "Status.Unbilled", + "type": "string", + "required": false + }, + "project_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "search_time_entries_by_user_id": { + "value": "54321", + "type": "string", + "required": false + }, + "sort_time_entries_by": { + "value": "log_date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListVendorCreditRefunds", + "qualifiedName": "ZohoBooksApi.ListVendorCreditRefunds", + "fullyQualifiedName": "ZohoBooksApi.ListVendorCreditRefunds@1.0.0", + "description": "Retrieve all refunds for a specified vendor credit.\n\nUse this tool to get a list of all refunds associated with a particular vendor credit by providing the vendor credit ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Unique string ID of the organization for which refunds are to be listed.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": true, + "description": "The unique identifier for a specific vendor credit whose refunds are to be listed.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number for pagination, specifying which set of results to retrieve. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of refunds to return per page for pagination. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_credit_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListVendorCreditRefunds", + "parameters": { + "organization_identifier": { + "value": "org_abc123def456", + "type": "string", + "required": true + }, + "vendor_credit_id": { + "value": "VC-987654321", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListVendorCredits", + "qualifiedName": "ZohoBooksApi.ListVendorCredits", + "fullyQualifiedName": "ZohoBooksApi.ListVendorCredits@1.0.0", + "description": "Retrieve and filter vendor credits from Zoho Books.\n\nRetrieve a paginated list of vendor credits using various filtering, sorting, and search capabilities, such as by date, status, amount, vendor details, items, taxes, and custom fields.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_number_filter", + "type": "string", + "required": false, + "description": "Filter vendor credits by specific vendor credit number. Supports partial matching with options like 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_creation_date", + "type": "string", + "required": false, + "description": "Filter vendor credits by creation date using yyyy-mm-dd format. Supports date_start, date_end, date_before, and date_after for range filtering.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_status", + "type": "string", + "required": false, + "description": "Filter vendor credits by their current status. Allowed values: 'open', 'closed', 'void', or 'draft'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_amount_filter", + "type": "string", + "required": false, + "description": "Filter vendor credits by total amount. Use variants: total_start, total_end, total_less_than, total_less_equals, total_greater_than, total_greater_equals.", + "enum": null, + "inferrable": true + }, + { + "name": "reference_number_filter", + "type": "string", + "required": false, + "description": "Filter vendor credits by their reference number, supporting 'startswith' and 'contains' for partial matches.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_vendor_name", + "type": "string", + "required": false, + "description": "Filter vendor credits by vendor name, supporting partial matches with 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_name", + "type": "string", + "required": false, + "description": "Filter vendor credits by item name. Use 'startswith:' or 'contains:' as prefixes for partial matching.", + "enum": null, + "inferrable": true + }, + { + "name": "item_description_filter", + "type": "string", + "required": false, + "description": "Filter vendor credits by item description. Supports partial matching with 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_notes_content", + "type": "string", + "required": false, + "description": "Filter vendor credits by notes content. Use partial matching with variants: notes_startswith or notes_contains.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_custom_field", + "type": "string", + "required": false, + "description": "Filter vendor credits by custom field values. Use 'custom_field_startswith' or 'custom_field_contains' for partial matching.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_last_modified_time", + "type": "string", + "required": false, + "description": "Filter vendor credits by last modified time using ISO 8601 format (yyyy-mm-ddThh:mm:ss-hh:mm).", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_customer_id", + "type": "integer", + "required": false, + "description": "Filter vendor credits by a specific customer ID to find credits associated with that customer. Retrieve customer IDs from the contacts API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_line_item_id", + "type": "integer", + "required": false, + "description": "Filter vendor credits by a specific line item ID to find credits containing the item.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_item_id", + "type": "integer", + "required": false, + "description": "Filter vendor credits by a specific item ID. Use this to find vendor credits containing the item. Retrieve item IDs from the items API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_tax_id", + "type": "integer", + "required": false, + "description": "Filter vendor credits by specific tax ID to find credits with that tax applied. Tax IDs are retrieved from the taxes API.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_status", + "type": "string", + "required": false, + "description": "Filter vendor credits by status using predefined values: Status.All, Status.Open, Status.Draft, Status.Closed, Status.Void.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Enter text to search vendor credits by credit number, vendor name, and reference number.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify which column to sort vendor credits by. Options: vendor_name, vendor_credit_number, balance, total, date, created_time, last_modified_time, reference_number.", + "enum": null, + "inferrable": true + }, + { + "name": "pagination_page_number", + "type": "integer", + "required": false, + "description": "Specify the page number to retrieve results from for pagination. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "pagination_records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of vendor credit records to return per page. The default value is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_credits'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListVendorCredits", + "parameters": { + "organization_id": { + "value": "78901234567890", + "type": "string", + "required": true + }, + "vendor_credit_number_filter": { + "value": "contains:VC-100", + "type": "string", + "required": false + }, + "filter_by_creation_date": { + "value": "date_start:2025-12-01,date_end:2025-12-31", + "type": "string", + "required": false + }, + "vendor_credit_status": { + "value": "open", + "type": "string", + "required": false + }, + "total_amount_filter": { + "value": "total_greater_equals:1000,total_less_than:5000", + "type": "string", + "required": false + }, + "reference_number_filter": { + "value": "startswith:REF-", + "type": "string", + "required": false + }, + "filter_by_vendor_name": { + "value": "contains:Acme Supplies", + "type": "string", + "required": false + }, + "filter_by_item_name": { + "value": "startswith:Widget", + "type": "string", + "required": false + }, + "item_description_filter": { + "value": "contains:bulk pack", + "type": "string", + "required": false + }, + "filter_by_notes_content": { + "value": "notes_contains:requires approval", + "type": "string", + "required": false + }, + "filter_by_custom_field": { + "value": "custom_field_contains:Preferred", + "type": "string", + "required": false + }, + "filter_by_last_modified_time": { + "value": "2026-02-10T09:30:00-05:00", + "type": "string", + "required": false + }, + "filter_by_customer_id": { + "value": 4321, + "type": "integer", + "required": false + }, + "filter_by_line_item_id": { + "value": 9876, + "type": "integer", + "required": false + }, + "filter_by_item_id": { + "value": 1234, + "type": "integer", + "required": false + }, + "filter_by_tax_id": { + "value": 55, + "type": "integer", + "required": false + }, + "filter_by_status": { + "value": "Status.Open", + "type": "string", + "required": false + }, + "search_text": { + "value": "ACME 2026", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "date", + "type": "string", + "required": false + }, + "pagination_page_number": { + "value": 2, + "type": "integer", + "required": false + }, + "pagination_records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListVendorPaymentRefunds", + "qualifiedName": "ZohoBooksApi.ListVendorPaymentRefunds", + "fullyQualifiedName": "ZohoBooksApi.ListVendorPaymentRefunds@1.0.0", + "description": "List all refunds for a vendor payment.\n\nRetrieve a list of all refunds associated with a specific vendor payment in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books to list the refunds for. This should be a unique identifier as specified by Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor payment to fetch refunds for.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number", + "type": "integer", + "required": false, + "description": "Page number to be fetched, starting from 1. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_payment_refunds'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListVendorPaymentRefunds", + "parameters": { + "organization_id": { + "value": "60000000001", + "type": "string", + "required": true + }, + "payment_identifier": { + "value": "VPAY-9876543210", + "type": "string", + "required": true + }, + "page_number": { + "value": 1, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ListVendorPayments", + "qualifiedName": "ZohoBooksApi.ListVendorPayments", + "fullyQualifiedName": "ZohoBooksApi.ListVendorPayments@1.0.0", + "description": "Fetch all payments made to vendors.\n\nUse this tool to retrieve a list of all vendor payments. It helps manage and track financial transactions with vendors.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization whose vendor payments you want to list.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_name_query", + "type": "string", + "required": false, + "description": "Search payments by vendor name using parameters like startswith or contains.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_reference_number", + "type": "string", + "required": false, + "description": "Search payments using the reference number. Supports variants: 'startswith' and 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_number_search", + "type": "string", + "required": false, + "description": "Search payments using the payment number with options for exact match, starts with, or contains.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_date_filter", + "type": "string", + "required": false, + "description": "Specify the date for payment filtering. Use variants like 'date_start', 'date_end', 'date_before', and 'date_after'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_amount_filter", + "type": "number", + "required": false, + "description": "Filter payments by amount paid to the vendor. Use variants: 'less_than', 'less_equals', 'greater_than', 'greater_equals' to specify the condition.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_payment_mode", + "type": "string", + "required": false, + "description": "Search payments by payment mode using variants like 'startswith' or 'contains'.", + "enum": null, + "inferrable": true + }, + { + "name": "search_with_payment_notes", + "type": "string", + "required": false, + "description": "Search payments using notes with options like startswith or contains.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_id", + "type": "string", + "required": false, + "description": "The unique ID of the vendor, used to search payments by vendor ID.", + "enum": null, + "inferrable": true + }, + { + "name": "last_modified_time_filter", + "type": "string", + "required": false, + "description": "Filter vendor payments by their last modified time. Use a date-time string in ISO 8601 format.", + "enum": null, + "inferrable": true + }, + { + "name": "search_payments_by_bill_id", + "type": "string", + "required": false, + "description": "Search payments using the specific Bill ID associated with the transaction.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_description", + "type": "string", + "required": false, + "description": "Search payments by description. Use 'description_startswith' or 'description_contains' variants for specific matches.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_payment_mode", + "type": "string", + "required": false, + "description": "Filter payments by payment mode. Options include All, Check, Cash, BankTransfer, Paypal, CreditCard, GoogleCheckout, Credit, Authorizenet, BankRemittance, Payflowpro, and Others.", + "enum": null, + "inferrable": true + }, + { + "name": "search_text", + "type": "string", + "required": false, + "description": "Search for payments using reference number, vendor name, or payment description.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_payments_by", + "type": "string", + "required": false, + "description": "Sort payments by column. Options: vendor_name, date, reference_number, amount, balance.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Specify the page number of results to fetch. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "Specify the number of records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_vendor_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ListVendorPayments", + "parameters": { + "organization_id": { + "value": "654321000", + "type": "string", + "required": true + }, + "vendor_name_query": { + "value": "contains:Acme Supplies", + "type": "string", + "required": false + }, + "search_by_reference_number": { + "value": "startswith:REF2025", + "type": "string", + "required": false + }, + "payment_number_search": { + "value": "startswith:PMT-", + "type": "string", + "required": false + }, + "payment_date_filter": { + "value": "date_start:2025-01-01,date_end:2025-12-31", + "type": "string", + "required": false + }, + "payment_amount_filter": { + "value": 1500.75, + "type": "integer", + "required": false + }, + "search_by_payment_mode": { + "value": "contains:Bank", + "type": "string", + "required": false + }, + "search_with_payment_notes": { + "value": "contains:recurring maintenance", + "type": "string", + "required": false + }, + "vendor_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "last_modified_time_filter": { + "value": "2025-12-15T08:30:00Z", + "type": "string", + "required": false + }, + "search_payments_by_bill_id": { + "value": "BILL-501", + "type": "string", + "required": false + }, + "search_by_description": { + "value": "description_contains:office supplies", + "type": "string", + "required": false + }, + "filter_payment_mode": { + "value": "BankTransfer", + "type": "string", + "required": false + }, + "search_text": { + "value": "Acme REF2025 office", + "type": "string", + "required": false + }, + "sort_payments_by": { + "value": "date", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 100, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "LogTimeEntries", + "qualifiedName": "ZohoBooksApi.LogTimeEntries", + "fullyQualifiedName": "ZohoBooksApi.LogTimeEntries@1.0.0", + "description": "Log time entries in Zoho Books.\n\n Use this tool to log time entries for projects in Zoho Books. It should be called when you need to track time spent on project tasks.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required for logging time entries. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_time_entries'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.LogTimeEntries", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"time_entry\": {\"project_id\": \"987654321\", \"task_id\": \"555\", \"user_id\": \"11111\", \"spent_on\": \"2026-02-17\", \"hours\": 3.5, \"notes\": \"Developed API integration and unit tests\", \"is_billable\": true, \"billable_rate\": 120.0}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkBillOpen", + "qualifiedName": "ZohoBooksApi.MarkBillOpen", + "fullyQualifiedName": "ZohoBooksApi.MarkBillOpen@1.0.0", + "description": "Mark a void bill as open in Zoho Books.\n\nUse this tool to change the status of a void bill to open in Zoho Books. Call this tool when you need to reactivate a bill that was previously voided.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization in Zoho Books to mark the bill as open.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to mark as open in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_bill_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkBillOpen", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "bill_id": { + "value": "BILL-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkBillVoid", + "qualifiedName": "ZohoBooksApi.MarkBillVoid", + "fullyQualifiedName": "ZohoBooksApi.MarkBillVoid@1.0.0", + "description": "Mark a bill as void in Zoho Books.\n\nUse this tool to update the status of a bill to void in Zoho Books when you need to cancel or invalidate a bill.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Used to specify which organization's bill should be marked as void.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to mark as void in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_bill_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkBillVoid", + "parameters": { + "organization_id": { + "value": "6000000000001", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkContactInactive", + "qualifiedName": "ZohoBooksApi.MarkContactInactive", + "fullyQualifiedName": "ZohoBooksApi.MarkContactInactive@1.0.0", + "description": "Mark a Zoho Books contact as inactive.\n\nUse this tool to mark a contact as inactive in Zoho Books, allowing for better organization and active contact management.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the contact in Zoho Books. Required to specify which contact to mark as inactive.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_contact_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkContactInactive", + "parameters": { + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "contact_identifier": { + "value": "987654321098765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkCreditNoteOpen", + "qualifiedName": "ZohoBooksApi.MarkCreditNoteOpen", + "fullyQualifiedName": "ZohoBooksApi.MarkCreditNoteOpen@1.0.0", + "description": "Convert a draft credit note to open status in Zoho Books.\n\nUse this tool to change the status of a credit note from Draft to Open in Zoho Books. This is helpful when you need to activate a credit note that has been prepared and saved as a draft.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be converted to Open status.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_credit_note_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkCreditNoteOpen", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "123456789012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkCreditNoteVoid", + "qualifiedName": "ZohoBooksApi.MarkCreditNoteVoid", + "fullyQualifiedName": "ZohoBooksApi.MarkCreditNoteVoid@1.0.0", + "description": "Marks a credit note as void in Zoho Books.\n\nUse this tool to mark a specific credit note as void, altering its status in the Zoho Books system.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books to mark the credit note as void.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to mark as void in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_credit_note_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkCreditNoteVoid", + "parameters": { + "organization_id": { + "value": "6754321000001234567", + "type": "string", + "required": true + }, + "credit_note_identifier": { + "value": "CN-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkEstimateAsSent", + "qualifiedName": "ZohoBooksApi.MarkEstimateAsSent", + "fullyQualifiedName": "ZohoBooksApi.MarkEstimateAsSent@1.0.0", + "description": "Mark a draft estimate as sent.\n\nUse this tool to mark a draft estimate in Zoho Books as sent. Call this when you need to update the status of an estimate to indicate it has been sent to a client.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to identify which organization's estimate to mark as sent.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the estimate to be marked as sent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_estimate_sent'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkEstimateAsSent", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkFixedAssetAsDraft", + "qualifiedName": "ZohoBooksApi.MarkFixedAssetAsDraft", + "fullyQualifiedName": "ZohoBooksApi.MarkFixedAssetAsDraft@1.0.0", + "description": "Set a fixed asset status to draft in Zoho Books.\n\nUse this tool to change the status of a specific fixed asset to draft in Zoho Books. This is useful when revising asset details or temporarily removing it from active use.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the fixed asset status will be changed.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the fixed asset in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_fixed_asset_draft'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkFixedAssetAsDraft", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "fixed_asset_identifier": { + "value": "FA-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkInvoiceAsDraft", + "qualifiedName": "ZohoBooksApi.MarkInvoiceAsDraft", + "fullyQualifiedName": "ZohoBooksApi.MarkInvoiceAsDraft@1.0.0", + "description": "Mark a voided invoice as draft in Zoho Books.\n\nThis tool is used to change the status of a voided invoice to draft in Zoho Books. It should be called when there is a need to edit or resubmit an invoice previously marked as void.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to be marked as draft.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_invoice_draft'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkInvoiceAsDraft", + "parameters": { + "organization_identifier": { + "value": "60012345678", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkInvoiceAsSent", + "qualifiedName": "ZohoBooksApi.MarkInvoiceAsSent", + "fullyQualifiedName": "ZohoBooksApi.MarkInvoiceAsSent@1.0.0", + "description": "Mark a draft invoice as sent.\n\nUse this tool to change the status of a draft invoice to 'sent'. Ideal for when an invoice is ready to be sent out to a client.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier of the organization for which the invoice will be marked as sent.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to be marked as sent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_invoice_sent'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkInvoiceAsSent", + "parameters": { + "organization_id": { + "value": "org_1234567890", + "type": "string", + "required": true + }, + "invoice_unique_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkInvoiceSent", + "qualifiedName": "ZohoBooksApi.MarkInvoiceSent", + "fullyQualifiedName": "ZohoBooksApi.MarkInvoiceSent@1.0.0", + "description": "Marks a draft retainer invoice as sent.\n\nUse this tool to update the status of a draft retainer invoice to 'sent' in Zoho Books. This is useful when you need to track the invoice as having been dispatched to a client.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. This ID is necessary to specify which organization's invoice should be marked as sent.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to be marked as sent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_retainer_invoice_sent'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkInvoiceSent", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkItemInactive", + "qualifiedName": "ZohoBooksApi.MarkItemInactive", + "fullyQualifiedName": "ZohoBooksApi.MarkItemInactive@1.0.0", + "description": "Mark an item as inactive in Zoho Books.\n\nUse this tool to mark an active item as inactive in Zoho Books. Useful for managing inventory and item status.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books. Required for specifying which organization's item to mark as inactive.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the item to be marked inactive.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_item_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkItemInactive", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "item_identifier": { + "value": "ITEM-00123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkLocationInactive", + "qualifiedName": "ZohoBooksApi.MarkLocationInactive", + "fullyQualifiedName": "ZohoBooksApi.MarkLocationInactive@1.0.0", + "description": "Marks a specific location as inactive in Zoho Books.\n\nUse this tool to set a location's status to inactive within Zoho Books. This is helpful for managing locations that are no longer in use.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books to mark the location as inactive.", + "enum": null, + "inferrable": true + }, + { + "name": "location_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the location to be marked as inactive in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_location_inactive'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkLocationInactive", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "location_identifier": { + "value": "LOC-2024-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkPrimaryContactPerson", + "qualifiedName": "ZohoBooksApi.MarkPrimaryContactPerson", + "fullyQualifiedName": "ZohoBooksApi.MarkPrimaryContactPerson@1.0.0", + "description": "Mark a contact person as primary for a contact.\n\nUse this tool to designate a specific contact person as the primary contact for a particular contact. Useful for managing contact hierarchies within an organization.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization. This is required to specify which organization's contact is being updated.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_person_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the contact person to be marked as primary.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_contact_person_primary'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkPrimaryContactPerson", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "contact_person_identifier": { + "value": "cp_abc12345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkPurchaseOrderBilled", + "qualifiedName": "ZohoBooksApi.MarkPurchaseOrderBilled", + "fullyQualifiedName": "ZohoBooksApi.MarkPurchaseOrderBilled@1.0.0", + "description": "Mark a purchase order as billed in Zoho Books.\n\nUse this tool to update the status of a purchase order to 'billed' in Zoho Books. This is useful when a purchase order has been fulfilled and needs to be recorded as billed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. Required to perform actions within the specified organization.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to be marked as billed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_purchase_order_billed'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkPurchaseOrderBilled", + "parameters": { + "organization_id": { + "value": "60000000000", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-123456", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkRetainerInvoiceAsDraft", + "qualifiedName": "ZohoBooksApi.MarkRetainerInvoiceAsDraft", + "fullyQualifiedName": "ZohoBooksApi.MarkRetainerInvoiceAsDraft@1.0.0", + "description": "Mark a voided retainer invoice as draft.\n\nUse this tool to change the status of a voided retainer invoice back to draft. This is useful when you need to reuse or edit a voided invoice within Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice to be marked as draft.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_retainer_invoice_draft'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkRetainerInvoiceAsDraft", + "parameters": { + "organization_id": { + "value": "789012345", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "5768493021001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkSalesOrderAsVoid", + "qualifiedName": "ZohoBooksApi.MarkSalesOrderAsVoid", + "fullyQualifiedName": "ZohoBooksApi.MarkSalesOrderAsVoid@1.0.0", + "description": "Mark a sales order as void in Zoho Books.\n\n Use this tool to transition a specified sales order to a void status, effectively canceling it within Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier for the specific sales order to be marked as void. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_sales_order_as_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkSalesOrderAsVoid", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "SO-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"reason\":\"Customer requested cancellation\",\"void_date\":\"2026-02-18\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MarkVendorCreditVoid", + "qualifiedName": "ZohoBooksApi.MarkVendorCreditVoid", + "fullyQualifiedName": "ZohoBooksApi.MarkVendorCreditVoid@1.0.0", + "description": "Mark an existing vendor credit as void in Zoho Books.\n\nUse this tool to mark a specific vendor credit as void. Typically called when you need to invalidate a previously issued vendor credit in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to be marked as void.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_vendor_credit_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MarkVendorCreditVoid", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "MatchBankTransaction", + "qualifiedName": "ZohoBooksApi.MatchBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.MatchBankTransaction@1.0.0", + "description": "Match an uncategorized bank transaction with an existing one.\n\n Use this tool to match an uncategorized transaction with an existing transaction in Zoho Books, ensuring proper categorization and reconciliation.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank transaction to be matched. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id", + "type": "string", + "required": false, + "description": "The mandatory Account ID for listing transactions to match. This is required to specify the bank account in Zoho Books. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'match_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.MatchBankTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "663214987", + "type": "string", + "required": false + }, + "bank_transaction_id": { + "value": "bt_20260218_001", + "type": "string", + "required": false + }, + "account_id": { + "value": "acct_778899", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"matched_transaction_id\":\"tx_445566\",\"match_amount\":150.75,\"match_date\":\"2026-02-15\",\"note\":\"Matched to invoice INV-1024 payment\",\"reconcile\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ModifyInvoice", + "qualifiedName": "ZohoBooksApi.ModifyInvoice", + "fullyQualifiedName": "ZohoBooksApi.ModifyInvoice@1.0.0", + "description": "Update an existing invoice in Zoho Books.\n\n This tool updates the information of an existing retainer invoice in Zoho Books. Use it when you need to modify invoice details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization within Zoho Books to which the retainer invoice belongs. This is required to ensure the update is applied to the correct entity. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the retainer invoice to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ModifyInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "987654321098765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"retainer_invoice\":{\"customer_id\":\"543210987654321\",\"reference_number\":\"RI-2026-045\",\"date\":\"2026-02-15\",\"due_date\":\"2026-03-15\",\"status\":\"draft\",\"line_items\":[{\"name\":\"Monthly retainer\",\"description\":\"February retainer for advisory services\",\"quantity\":1,\"rate\":2000.00,\"tax_id\":\"1234567890\"}],\"notes\":\"Updated retainer amount and notes.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ModifyInvoiceAddress", + "qualifiedName": "ZohoBooksApi.ModifyInvoiceAddress", + "fullyQualifiedName": "ZohoBooksApi.ModifyInvoiceAddress@1.0.0", + "description": "Update the billing address for a specific invoice.\n\n Use this tool to update the billing address for a particular invoice in Zoho Books. It modifies the address details for a specified invoice.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique string ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ModifyInvoiceAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"address\":\"123 Main St\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62701\",\"country\":\"USA\",\"phone\":\"+1-555-1234\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ModifyRecurringExpense", + "qualifiedName": "ZohoBooksApi.ModifyRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.ModifyRecurringExpense@1.0.0", + "description": "Update a recurring expense in Zoho Books.\n\n Use this tool to modify details of an existing recurring expense in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Provide the ID of the organization for which the recurring expense needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the recurring expense to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ModifyRecurringExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "recurring_expense_identifier": { + "value": "RE-00012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{ \"recurring_expense\": { \"vendor_id\": \"9876543210\", \"start_date\": \"2026-03-01\", \"end_date\": \"2026-12-31\", \"recurrence_frequency\": \"monthly\", \"recurrence_day\": 1, \"amount\": 150.00, \"currency_code\": \"USD\", \"notes\": \"Monthly software subscription\", \"custom_fields\": [{ \"label\": \"Department\", \"value\": \"IT\" }] } }", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ModifyRetainerInvoiceTemplate", + "qualifiedName": "ZohoBooksApi.ModifyRetainerInvoiceTemplate", + "fullyQualifiedName": "ZohoBooksApi.ModifyRetainerInvoiceTemplate@1.0.0", + "description": "Update the PDF template for a retainer invoice.\n\nUse this tool to update the PDF template associated with a specific retainer invoice by providing the retainer invoice ID and the template ID. It should be called when you need to change the appearance or format of a retainer invoice.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The ID of the organization to update the retainer invoice template for. It should be a string representing the organization's unique identifier in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier for the retainer invoice to update the PDF template.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_template_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice template.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_retainer_invoice_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ModifyRetainerInvoiceTemplate", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "RINV-2026-0001", + "type": "string", + "required": true + }, + "retainer_invoice_template_id": { + "value": "TEMPLATE-7890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "OpenPurchaseOrder", + "qualifiedName": "ZohoBooksApi.OpenPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.OpenPurchaseOrder@1.0.0", + "description": "Mark a draft purchase order as open.\n\nUse this tool to change the status of a draft purchase order to 'open' in Zoho Books, making it active and processable. Call this when you need to activate draft purchase orders.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books whose purchase order status needs to be changed.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the purchase order to be marked as open.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_purchase_order_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.OpenPurchaseOrder", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "purchase_order_identifier": { + "value": "PO-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "OpenSalesOrder", + "qualifiedName": "ZohoBooksApi.OpenSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.OpenSalesOrder@1.0.0", + "description": "Mark a draft sales order as open in Zoho Books.\n\nUse this tool to change the status of a draft sales order to open in Zoho Books. This is useful when a sales order needs to be moved from draft status to active status, indicating it's ready for further processing.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization where the sales order is to be marked as open.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to mark as open in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_sales_order_as_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.OpenSalesOrder", + "parameters": { + "organization_id": { + "value": "3056789000009876543", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "3056789000001234567", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "OpenVendorCreditStatus", + "qualifiedName": "ZohoBooksApi.OpenVendorCreditStatus", + "fullyQualifiedName": "ZohoBooksApi.OpenVendorCreditStatus@1.0.0", + "description": "Change a vendor credit status to open in Zoho Books.\n\nUse this tool to update the status of an existing vendor credit to 'open' in Zoho Books. This is useful when you need to reactivate a vendor credit for further processing or adjustments.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books whose vendor credit status needs to be marked as open.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the vendor credit to be marked as open.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_vendor_credit_open'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.OpenVendorCreditStatus", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "PostProjectComment", + "qualifiedName": "ZohoBooksApi.PostProjectComment", + "fullyQualifiedName": "ZohoBooksApi.PostProjectComment@1.0.0", + "description": "Post a comment to a specified project.\n\n This tool posts a comment to a specific project in Zoho Books. Use it when you need to add a comment or note to a project for tracking or communication purposes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the organization for which the comment is being posted. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the project in Zoho Books. Required to specify the target project for adding a comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'add_project_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.PostProjectComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "org_123456789", + "type": "string", + "required": false + }, + "project_unique_identifier": { + "value": "proj_abcd1234", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":\"Completed initial design review. Please see attached notes.\",\"is_note\":false}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "PublishDraftJournal", + "qualifiedName": "ZohoBooksApi.PublishDraftJournal", + "fullyQualifiedName": "ZohoBooksApi.PublishDraftJournal@1.0.0", + "description": "Mark a draft journal as published in Zoho Books.\n\nUse this tool to change the status of a draft journal entry to published within Zoho Books. This can be helpful when a draft is ready for final publication.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books. Required to identify the organization where the journal resides.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the journal to be marked as published.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_journal_published'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.PublishDraftJournal", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "journal_identifier": { + "value": "JNL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RefundCreditNote", + "qualifiedName": "ZohoBooksApi.RefundCreditNote", + "fullyQualifiedName": "ZohoBooksApi.RefundCreditNote@1.0.0", + "description": "Process a credit note refund in Zoho Books.\n\n Use this tool to issue a refund for a specified credit note in Zoho Books. It is triggered when there's a need to reimburse the amount associated with a credit note.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books for which the credit note refund is being processed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to refund. This is required to specify which credit note the refund applies to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_credit_note_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RefundCreditNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "600000000012345", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "cn_1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refunds\":[{\"date\":\"2024-01-15\",\"amount\":150.00,\"payment_mode\":\"Bank Transfer\",\"bank_account_id\":\"9876543210\",\"reference_number\":\"REF-20240115-01\",\"notes\":\"Refund issued for credit note overpayment\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RefundExcessPayment", + "qualifiedName": "ZohoBooksApi.RefundExcessPayment", + "fullyQualifiedName": "ZohoBooksApi.RefundExcessPayment@1.0.0", + "description": "Refund the excess amount paid by a customer.\n\n Use this tool to refund any excess amount received from a customer payment. It is called when there is a need to process a refund for overpaid amounts in customer transactions.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization to process the refund under. Ensure this matches the ID in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the customer's payment to be refunded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'create_customer_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RefundExcessPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "customer_payment_identifier": { + "value": "payment_abc123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund\":{\"amount\":75.50,\"account_id\":\"acc_00123\",\"date\":\"2025-02-15\",\"reference_number\":\"REF-20250215-01\",\"payment_mode\":\"bank_transfer\",\"notes\":\"Refund for overpayment on invoice INV-1001\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RefundVendorCredit", + "qualifiedName": "ZohoBooksApi.RefundVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.RefundVendorCredit@1.0.0", + "description": "Process a refund for vendor credit.\n\n Use this tool to initiate a refund for a specified vendor credit. Suitable when needing to refund amounts credited to a vendor.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the vendor credit refund is being processed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor credit that needs to be refunded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'refund_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RefundVendorCredit", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "vendor_credit_identifier": { + "value": "VC-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund_date\":\"2026-02-18\",\"refund_amount\":250.00,\"refund_mode\":\"Bank Transfer\",\"reference_number\":\"REF-987654\",\"account_id\":\"1000000000001\",\"notes\":\"Refunding vendor credit for returned goods\",\"line_items\":[{\"description\":\"Returned item A\",\"amount\":150.00},{\"description\":\"Service adjustment\",\"amount\":100.00}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RefundVendorOverpayment", + "qualifiedName": "ZohoBooksApi.RefundVendorOverpayment", + "fullyQualifiedName": "ZohoBooksApi.RefundVendorOverpayment@1.0.0", + "description": "Refund excess amount paid to a vendor.\n\n Use this tool to process a refund for any excess amount that has been paid to a vendor. This should be called when an overpayment needs to be returned to the vendor.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID representing the organization. Required to refund vendor overpayment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_id", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor payment to be refunded. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'refund_excess_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RefundVendorOverpayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "vendor_payment_id": { + "value": "VPAY-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund_date\":\"2026-02-18\",\"amount\":150.00,\"payment_mode\":\"Bank Transfer\",\"bank_account_id\":\"BA-987654\",\"reference_number\":\"REF-20260218-001\",\"notes\":\"Refunding vendor overpayment for invoice INV-1001\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RejectPurchaseOrder", + "qualifiedName": "ZohoBooksApi.RejectPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.RejectPurchaseOrder@1.0.0", + "description": "Reject a specific purchase order in Zoho Books.\n\nThis tool should be called when you need to reject a purchase order in the Zoho Books system. It confirms the rejection of the specified purchase order.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "A unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "The ID of the purchase order to be rejected in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'reject_purchase_orders'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RejectPurchaseOrder", + "parameters": { + "organization_identifier": { + "value": "6000000000001", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemindCustomerInvoicePayment", + "qualifiedName": "ZohoBooksApi.RemindCustomerInvoicePayment", + "fullyQualifiedName": "ZohoBooksApi.RemindCustomerInvoicePayment@1.0.0", + "description": "Remind customers of unpaid invoices by email.\n\n Use this tool to notify customers about unpaid invoices through email. It works for invoices that are open or overdue.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. It specifies which organization's invoice reminders to manage. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to send a payment reminder for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "Comma-separated list of file URLs to attach to the reminder email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "include_customer_statement_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to include a customer statement PDF with the email reminder. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'remind_customer_for_invoice_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemindCustomerInvoicePayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "https://cdn.example.com/files/terms.pdf,https://cdn.example.com/files/pricing.pdf", + "type": "string", + "required": false + }, + "include_customer_statement_pdf": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"send_reminder\":true,\"subject\":\"Payment Reminder for Invoice INV-1001\",\"message\":\"Dear Customer,\\nThis is a friendly reminder that invoice INV-1001 is overdue. Please make payment at your earliest convenience.\\nThank you.\",\"notify_customer\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveCurrency", + "qualifiedName": "ZohoBooksApi.RemoveCurrency", + "fullyQualifiedName": "ZohoBooksApi.RemoveCurrency@1.0.0", + "description": "Remove a specific currency from the system.\n\nThis tool deletes a currency. It should be used when a currency that is no longer needed should be removed, as long as it is not associated with any transactions.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID representing the organization for which the currency deletion is requested.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the currency to be deleted.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_currency'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveCurrency", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "currency_identifier": { + "value": "USD", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveInvoiceCredit", + "qualifiedName": "ZohoBooksApi.RemoveInvoiceCredit", + "fullyQualifiedName": "ZohoBooksApi.RemoveInvoiceCredit@1.0.0", + "description": "Remove a specific credit applied to an invoice.\n\nUse this tool to delete a particular credit that has been applied to an invoice when adjustments are needed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization from which the credit is being removed.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the invoice to remove a credit from.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note invoice to be removed from the invoice.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_invoice_applied_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveInvoiceCredit", + "parameters": { + "organization_id": { + "value": "org_987654321", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "credit_note_invoice_id": { + "value": "CN-2026-045", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveUserFromOrganization", + "qualifiedName": "ZohoBooksApi.RemoveUserFromOrganization", + "fullyQualifiedName": "ZohoBooksApi.RemoveUserFromOrganization@1.0.0", + "description": "Delete a user from the organization.\n\nThis tool removes a specified user from the organization in Zoho Books. It should be called when there is a need to delete a user's access or association with the organization.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization from which the user will be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "user_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the user to be deleted from the organization.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveUserFromOrganization", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "user_unique_identifier": { + "value": "5f47a1c2-4d3b-11ec-81d3-0242ac130003", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveUserFromProject", + "qualifiedName": "ZohoBooksApi.RemoveUserFromProject", + "fullyQualifiedName": "ZohoBooksApi.RemoveUserFromProject@1.0.0", + "description": "Remove a user from a specific project in Zoho Books.\n\nThis tool is used to remove a user from a project within Zoho Books. Call this tool when you need to manage project participants by deleting a user's access to a particular project.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the project from which the user will be removed.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the user to be removed from the project.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveUserFromProject", + "parameters": { + "organization_id": { + "value": "60000000001", + "type": "string", + "required": true + }, + "project_identifier": { + "value": "proj_10293", + "type": "string", + "required": true + }, + "user_identifier": { + "value": "user_2048", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RemoveVendorBillCredit", + "qualifiedName": "ZohoBooksApi.RemoveVendorBillCredit", + "fullyQualifiedName": "ZohoBooksApi.RemoveVendorBillCredit@1.0.0", + "description": "Delete credits applied to a vendor bill.\n\nUse this tool to remove credits applied to a specific vendor bill using the vendor_credit_id and vendor_credit_bill_id.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the vendor credit bill is to be deleted.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit to be deleted. Required for bill credit removal.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit bill to delete the applied credits.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.DELETE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'delete_vendor_credit_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RemoveVendorBillCredit", + "parameters": { + "organization_id": { + "value": "6000000000001", + "type": "string", + "required": true + }, + "vendor_credit_identifier": { + "value": "VC-98765", + "type": "string", + "required": true + }, + "vendor_credit_bill_identifier": { + "value": "VCB-54321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RestoreBankTransaction", + "qualifiedName": "ZohoBooksApi.RestoreBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.RestoreBankTransaction@1.0.0", + "description": "Restores an excluded bank transaction in your account.\n\nUse this tool to recover a previously excluded bank transaction in your Zoho Books account, identified by the transaction ID. It should be called when you need to reinstate transactions that were mistakenly removed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the Zoho Books organization to restore the transaction for.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "The unique identifier for the specific bank transaction to be restored.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id", + "type": "string", + "required": false, + "description": "Mandatory Account ID for which transactions are to be restored.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'restore_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RestoreBankTransaction", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "BTX-20250218-987654", + "type": "string", + "required": true + }, + "account_id": { + "value": "ACCT-1122334455", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ResumeRecurringBill", + "qualifiedName": "ZohoBooksApi.ResumeRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.ResumeRecurringBill@1.0.0", + "description": "Resume a stopped recurring bill in Zoho Books.\n\nUse this tool to restart a suspended recurring bill in Zoho Books, ensuring payments continue as scheduled.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": true, + "description": "Provide the unique identifier of the recurring bill to resume it in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'resume_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ResumeRecurringBill", + "parameters": { + "organization_id": { + "value": "6001234567890123456", + "type": "string", + "required": true + }, + "recurring_bill_identifier": { + "value": "RB-2026-00045", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ResumeRecurringExpense", + "qualifiedName": "ZohoBooksApi.ResumeRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.ResumeRecurringExpense@1.0.0", + "description": "Resumes a stopped recurring expense cycle.\n\nUse this tool to restart a recurring expense that has been previously paused in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_id", + "type": "string", + "required": true, + "description": "The unique identifier for the recurring expense to be resumed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'resume_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ResumeRecurringExpense", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "recurring_expense_id": { + "value": "rec_9876543210", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "ResumeRecurringInvoice", + "qualifiedName": "ZohoBooksApi.ResumeRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.ResumeRecurringInvoice@1.0.0", + "description": "Resumes a stopped recurring invoice.\n\n Use this tool to resume a recurring invoice that has been paused.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization whose invoice needs to be resumed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the recurring invoice to be resumed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'resume_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.ResumeRecurringInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "recurring_invoice_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"notes\":\"Resuming recurring invoice per client request\",\"resume_date\":\"2026-03-01\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveBillAttachment", + "qualifiedName": "ZohoBooksApi.RetrieveBillAttachment", + "fullyQualifiedName": "ZohoBooksApi.RetrieveBillAttachment@1.0.0", + "description": "Retrieve the attachment from a specific bill.\n\nCall this tool to get the file attached to a bill using its bill ID. Useful for accessing invoices or related documents stored in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to specify which organization's bill attachment to retrieve.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the bill to retrieve its attachment.", + "enum": null, + "inferrable": true + }, + { + "name": "get_thumbnail", + "type": "boolean", + "required": false, + "description": "Set to true to get the thumbnail of the attachment instead of the full file.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bill_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveBillAttachment", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + }, + "get_thumbnail": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveBillDetails", + "qualifiedName": "ZohoBooksApi.RetrieveBillDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveBillDetails@1.0.0", + "description": "Retrieve the details of a specific bill.\n\nUse this tool to get comprehensive details about a specific bill by providing its ID. Useful for retrieving bill information such as amount, due date, or vendor details.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which the bill details are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to retrieve its details. This should be provided as a string.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveBillDetails", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveContactDetails", + "qualifiedName": "ZohoBooksApi.RetrieveContactDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveContactDetails@1.0.0", + "description": "Retrieve comprehensive details of a specific contact.\n\nThis tool should be called to access complete information about a contact, including basic details, addresses, payment terms, and financial data such as outstanding amounts and transaction history.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier of the organization for which the contact details are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": true, + "description": "Unique identifier for the contact to retrieve detailed information.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveContactDetails", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "contact_id": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveContactList", + "qualifiedName": "ZohoBooksApi.RetrieveContactList", + "fullyQualifiedName": "ZohoBooksApi.RetrieveContactList@1.0.0", + "description": "Retrieve and filter a list of contacts from Zoho Books.\n\nUse this tool to obtain a detailed list of contacts with options for advanced filtering by name, company, status, and more. Ideal for managing contact information and accessing financial data like outstanding amounts and credit limits. Supports pagination for efficient data handling.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Provide the ID of the organization to retrieve relevant contact data.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_contact_by_type", + "type": "string", + "required": false, + "description": "Filter contacts by type. Accepts 'customer' or 'vendor'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_name_filter", + "type": "string", + "required": false, + "description": "Filter contacts by name. Use 'startswith' or 'contains' for match type. Max-length: 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_company_name", + "type": "string", + "required": false, + "description": "Search contacts by company name. Maximum length is 100 characters. Use variants like 'company_name_startswith' and 'company_name_contains' for different search methods.", + "enum": null, + "inferrable": true + }, + { + "name": "primary_contact_first_name", + "type": "string", + "required": false, + "description": "Search contacts by the first name of the primary contact person. Use 'first_name_startswith' or 'first_name_contains'. Max-length 100.", + "enum": null, + "inferrable": true + }, + { + "name": "search_by_last_name", + "type": "string", + "required": false, + "description": "Search contacts by last name of the primary contact person. Supports 'startswith' or 'contains' options. Max-length 100.", + "enum": null, + "inferrable": true + }, + { + "name": "address_search", + "type": "string", + "required": false, + "description": "Search contacts by address field. Use 'address_startswith' or 'address_contains'. Max-length 100.", + "enum": null, + "inferrable": true + }, + { + "name": "email_search_criteria", + "type": "string", + "required": false, + "description": "Search contacts by email of the primary contact person. Use 'startswith' or 'contains' in the string to specify the search variant. Max length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_phone_number", + "type": "string", + "required": false, + "description": "Search contacts by primary contact's phone number. Supports 'startswith' and 'contains' variants. Max length of 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_status_filter", + "type": "string", + "required": false, + "description": "Filter contacts by status. Options include All, Active, Inactive, Duplicate, PortalEnabled, PortalDisabled, OverDue, Unpaid, CreditLimitExceed, and Crm.", + "enum": null, + "inferrable": true + }, + { + "name": "search_contacts_text", + "type": "string", + "required": false, + "description": "Search contacts using contact name or notes. Maximum length is 100 characters.", + "enum": null, + "inferrable": true + }, + { + "name": "sort_by_column", + "type": "string", + "required": false, + "description": "Specify the column to sort contacts by. Allowed values: contact_name, first_name, last_name, email, outstanding_receivable_amount, created_time, and last_modified_time.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_contact_id", + "type": "string", + "required": false, + "description": "CRM Contact ID to filter specific contact details.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_account_id", + "type": "string", + "required": false, + "description": "Specify the CRM Account ID for the contact to retrieve specific contact details.", + "enum": null, + "inferrable": true + }, + { + "name": "crm_vendor_id", + "type": "string", + "required": false, + "description": "The CRM Vendor ID associated with the contact, used to filter results.", + "enum": null, + "inferrable": true + }, + { + "name": "page_number_to_fetch", + "type": "integer", + "required": false, + "description": "Specify the page number to be fetched. Defaults to 1 if not provided.", + "enum": null, + "inferrable": true + }, + { + "name": "records_per_page", + "type": "integer", + "required": false, + "description": "The number of contact records to fetch per page. Default is 200.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'list_contacts'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveContactList", + "parameters": { + "organization_identifier": { + "value": "60012345678", + "type": "string", + "required": true + }, + "filter_contact_by_type": { + "value": "customer", + "type": "string", + "required": false + }, + "contact_name_filter": { + "value": "startswith:Acme", + "type": "string", + "required": false + }, + "search_by_company_name": { + "value": "company_name_contains:Acme Corp", + "type": "string", + "required": false + }, + "primary_contact_first_name": { + "value": "first_name_startswith:Ann", + "type": "string", + "required": false + }, + "search_by_last_name": { + "value": "contains:Smith", + "type": "string", + "required": false + }, + "address_search": { + "value": "address_contains:Main Street", + "type": "string", + "required": false + }, + "email_search_criteria": { + "value": "contains:@example.com", + "type": "string", + "required": false + }, + "contact_phone_number": { + "value": "startswith:+1-800", + "type": "string", + "required": false + }, + "contact_status_filter": { + "value": "Active", + "type": "string", + "required": false + }, + "search_contacts_text": { + "value": "VIP client", + "type": "string", + "required": false + }, + "sort_by_column": { + "value": "outstanding_receivable_amount", + "type": "string", + "required": false + }, + "crm_contact_id": { + "value": "crm_contact_12345", + "type": "string", + "required": false + }, + "crm_account_id": { + "value": "crm_account_67890", + "type": "string", + "required": false + }, + "crm_vendor_id": { + "value": "crm_vendor_54321", + "type": "string", + "required": false + }, + "page_number_to_fetch": { + "value": 2, + "type": "integer", + "required": false + }, + "records_per_page": { + "value": 50, + "type": "integer", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveCreditNoteEmailHistory", + "qualifiedName": "ZohoBooksApi.RetrieveCreditNoteEmailHistory", + "fullyQualifiedName": "ZohoBooksApi.RetrieveCreditNoteEmailHistory@1.0.0", + "description": "Retrieve the email history of a specific credit note.\n\nUse this tool to get detailed information about the email interactions associated with a specific credit note. Useful for tracking communication history.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which you want to retrieve the credit note email history.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to retrieve its email history.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_credit_note_email_history'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveCreditNoteEmailHistory", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "CN-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveEstimateDetails", + "qualifiedName": "ZohoBooksApi.RetrieveEstimateDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveEstimateDetails@1.0.0", + "description": "Retrieve the details of a specific estimate.\n\nUse this tool to get information about a particular estimate by providing its ID. It returns the details associated with the specified estimate in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books. Required to retrieve estimate details.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_id", + "type": "string", + "required": true, + "description": "Unique identifier of the specific estimate to retrieve details for.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specify the format for the estimate details: json, pdf, or html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Set to true to print the exported PDF of the estimate.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveEstimateDetails", + "parameters": { + "organization_id": { + "value": "1234567890123456789", + "type": "string", + "required": true + }, + "estimate_id": { + "value": "EST-2026-0001", + "type": "string", + "required": true + }, + "response_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveExpenseReceipt", + "qualifiedName": "ZohoBooksApi.RetrieveExpenseReceipt", + "fullyQualifiedName": "ZohoBooksApi.RetrieveExpenseReceipt@1.0.0", + "description": "Retrieve the receipt attached to an expense.\n\nUse this tool to obtain the receipt attached to a specific expense entry in Zoho Books. It is useful for reviewing or auditing expense details by accessing the actual receipt document.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to retrieve the expense receipt.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the expense to retrieve its receipt. Required for locating the specific expense in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "get_receipt_thumbnail", + "type": "boolean", + "required": false, + "description": "Set to true to get a thumbnail of the receipt; false returns the full receipt.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_expense_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveExpenseReceipt", + "parameters": { + "organization_identifier": { + "value": "60000000000001", + "type": "string", + "required": true + }, + "expense_identifier": { + "value": "e5f6c7d8-9a0b-4c3d-8e7f-123456789abc", + "type": "string", + "required": true + }, + "get_receipt_thumbnail": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveInvoiceDocument", + "qualifiedName": "ZohoBooksApi.RetrieveInvoiceDocument", + "fullyQualifiedName": "ZohoBooksApi.RetrieveInvoiceDocument@1.0.0", + "description": "Retrieve a document attached to a specific invoice.\n\nUse this tool to access and download a document linked to an invoice by specifying the invoice and document IDs.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization to retrieve the document from.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_id", + "type": "string", + "required": true, + "description": "The unique identifier for the invoice to which the document is attached. Required to retrieve the document.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_document_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific document attached to the invoice. Required to retrieve the exact document.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specify the desired format for the response, such as json, pdf, or html.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_invoice_document_details'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveInvoiceDocument", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "invoice_id": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "invoice_document_id": { + "value": "DOC-9f8b7c6d", + "type": "string", + "required": true + }, + "response_format": { + "value": "pdf", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveItemDetails", + "qualifiedName": "ZohoBooksApi.RetrieveItemDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveItemDetails@1.0.0", + "description": "Retrieve details of a specific item in Zoho Books.\n\nUse this tool to get detailed information about a specific item in Zoho Books by providing the item ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization whose item details are being retrieved.", + "enum": null, + "inferrable": true + }, + { + "name": "item_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the item to retrieve details from Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveItemDetails", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "item_unique_identifier": { + "value": "547887900000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrievePurchaseOrderAttachment", + "qualifiedName": "ZohoBooksApi.RetrievePurchaseOrderAttachment", + "fullyQualifiedName": "ZohoBooksApi.RetrievePurchaseOrderAttachment@1.0.0", + "description": "Retrieve the file attached to a specific purchase order.\n\nUse this tool to obtain the file attachment from a specific purchase order by providing the purchase order ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID representing the organization. Required to specify which organization's purchase order to access.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "The unique identifier of the purchase order to retrieve the attachment for.", + "enum": null, + "inferrable": true + }, + { + "name": "get_thumbnail", + "type": "boolean", + "required": false, + "description": "Set to true to get the thumbnail of the attachment, or false to retrieve the full file.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_purchase_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrievePurchaseOrderAttachment", + "parameters": { + "organization_identifier": { + "value": "org_123456789", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO_987654321", + "type": "string", + "required": true + }, + "get_thumbnail": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrievePurchaseOrderDetails", + "qualifiedName": "ZohoBooksApi.RetrievePurchaseOrderDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrievePurchaseOrderDetails@1.0.0", + "description": "Retrieve the details of a purchase order.\n\nUse this tool to get detailed information about a specific purchase order by providing the purchase order ID. Ideal for retrieving purchase order data for review or processing.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Unique ID of the organization to retrieve purchase order details.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Provide the unique identifier of the purchase order to retrieve its details.", + "enum": null, + "inferrable": true + }, + { + "name": "response_format", + "type": "string", + "required": false, + "description": "Specifies the format of the purchase order details. Options: json, pdf, html. Default is json.", + "enum": null, + "inferrable": true + }, + { + "name": "print_pdf", + "type": "boolean", + "required": false, + "description": "Set to True to print the exported PDF of the purchase order.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrievePurchaseOrderDetails", + "parameters": { + "organization_identifier": { + "value": "org_123456789", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-987654", + "type": "string", + "required": true + }, + "response_format": { + "value": "pdf", + "type": "string", + "required": false + }, + "print_pdf": { + "value": true, + "type": "boolean", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveRetainerInvoiceEmailContent", + "qualifiedName": "ZohoBooksApi.RetrieveRetainerInvoiceEmailContent", + "fullyQualifiedName": "ZohoBooksApi.RetrieveRetainerInvoiceEmailContent@1.0.0", + "description": "Retrieve the email content of a retainer invoice.\n\nThis tool fetches the email content of a specific retainer invoice using the provided invoice ID. It should be called when you need to view or send the email details of a retainer invoice.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization. Required to access retainer invoice emails.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice. Used to fetch the specific email content.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_retainer_invoice_email'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveRetainerInvoiceEmailContent", + "parameters": { + "organization_id": { + "value": "60000000001", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "200000000012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveTaxGroupDetails", + "qualifiedName": "ZohoBooksApi.RetrieveTaxGroupDetails", + "fullyQualifiedName": "ZohoBooksApi.RetrieveTaxGroupDetails@1.0.0", + "description": "Retrieve details of a specific tax group.\n\nUse this to obtain information about a specific tax group by its ID in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization in Zoho Books to get the tax group details for.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_group_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the tax group in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_tax_group'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveTaxGroupDetails", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "tax_group_identifier": { + "value": "303000000000001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "RetrieveUnusedRetainerPayments", + "qualifiedName": "ZohoBooksApi.RetrieveUnusedRetainerPayments", + "fullyQualifiedName": "ZohoBooksApi.RetrieveUnusedRetainerPayments@1.0.0", + "description": "Retrieve unused retainer payments for a contact.\n\nFetch details of unused retainer payments associated with a specific contact, providing insight into available credit balances.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Unique identifier for the organization to filter retainer payments.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": true, + "description": "The unique identifier for the contact whose unused retainer payments are being retrieved. This is required to specify which contact's data you want to access.", + "enum": null, + "inferrable": true + }, + { + "name": "filter_by_currency_id", + "type": "string", + "required": false, + "description": "Currency ID to filter unused retainer payments by a specific currency.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.READ" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'get_unused_retainer_payments'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.RetrieveUnusedRetainerPayments", + "parameters": { + "organization_id": { + "value": "6001234567", + "type": "string", + "required": true + }, + "contact_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "filter_by_currency_id": { + "value": "USD", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SellFixedAsset", + "qualifiedName": "ZohoBooksApi.SellFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.SellFixedAsset@1.0.0", + "description": "Initiate the sale of a specified fixed asset.\n\n Use this tool to sell a specific fixed asset by providing its asset ID. It should be called when confirming or completing the sale process of a fixed asset in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the fixed asset to be sold. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'sell_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SellFixedAsset", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "fixed_asset_identifier": { + "value": "FA-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"sale_date\":\"2026-02-15\",\"sale_price\":15000.00,\"currency\":\"USD\",\"buyer\":{\"name\":\"Acme Corp\",\"contact\":\"John Doe\",\"email\":\"john.doe@acme.example.com\"},\"notes\":\"Sold as-is\",\"dispose_account_id\":\"12034567890\",\"gain_loss_account_id\":\"12034567891\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendEmailToContact", + "qualifiedName": "ZohoBooksApi.SendEmailToContact", + "fullyQualifiedName": "ZohoBooksApi.SendEmailToContact@1.0.0", + "description": "Send an email directly to a specified contact.\n\n Use this tool to send an email to a contact by specifying their contact ID. Ideal for communicating directly with contacts via email.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the contact belongs. It is required for sending the email. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": false, + "description": "Unique identifier for the contact to send the email to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_customer_statement_with_email", + "type": "boolean", + "required": false, + "description": "Indicate if a customer statement PDF should be sent with the email. Use 'true' to send, 'false' otherwise. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendEmailToContact", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "60001234567", + "type": "string", + "required": false + }, + "contact_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "send_customer_statement_with_email": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"Payment Due Reminder\",\"content\":\"Dear John Doe,\\n\\nThis is a reminder that invoice #INV-1001 is due on 2026-02-28. Please pay by the due date.\\n\\nBest regards,\\nAcme Corp\",\"to\":[\"john.doe@example.com\"],\"cc\":[\"accounting@example.com\"],\"attachments\":[{\"type\":\"invoice_pdf\",\"id\":\"INV-1001\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendEstimateEmail", + "qualifiedName": "ZohoBooksApi.SendEstimateEmail", + "fullyQualifiedName": "ZohoBooksApi.SendEstimateEmail@1.0.0", + "description": "Send an email estimate to a customer.\n\n Use this tool to email an estimate to a customer. If no specific content is provided, the default email content will be used.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization. This ID is required to send an estimate email. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the estimate to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "Files to be attached to the email estimate. Provide file paths or URLs. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendEstimateEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-1001", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "https://example.com/attachments/estimate-1001.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"email\":{\"to_mail_ids\":[\"client@example.com\"],\"cc_mail_ids\":[\"accounting@example.com\"],\"bcc_mail_ids\":[],\"subject\":\"Estimate EST-1001 from Acme Corp\",\"content\":\"Hello,\\n\\nPlease find attached the estimate EST-1001.\\n\\nRegards,\\nAcme Corp Billing\",\"send_from_org_email_id\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendEstimatesEmail", + "qualifiedName": "ZohoBooksApi.SendEstimatesEmail", + "fullyQualifiedName": "ZohoBooksApi.SendEstimatesEmail@1.0.0", + "description": "Send multiple estimates to customers via email.\n\nUse this tool to email up to 10 estimates to your customers efficiently. Ideal for managing and sharing multiple estimates at once.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_ids_to_email", + "type": "string", + "required": true, + "description": "Comma-separated string of up to 10 estimate IDs to send via email.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_multiple_estimates'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendEstimatesEmail", + "parameters": { + "organization_id": { + "value": "874563210", + "type": "string", + "required": true + }, + "estimate_ids_to_email": { + "value": "EST-1001,EST-1002,EST-1003,EST-1004,EST-1005", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendInvitationEmail", + "qualifiedName": "ZohoBooksApi.SendInvitationEmail", + "fullyQualifiedName": "ZohoBooksApi.SendInvitationEmail@1.0.0", + "description": "Send an invitation email to a user in Zoho Books.\n\nUse this tool to send an invitation email to a specific user by their user ID in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier of the organization in Zoho Books required to send the invitation.", + "enum": null, + "inferrable": true + }, + { + "name": "user_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the user to whom the invitation email will be sent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'invite_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendInvitationEmail", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "user_unique_identifier": { + "value": "987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendInvoiceEmail", + "qualifiedName": "ZohoBooksApi.SendInvoiceEmail", + "fullyQualifiedName": "ZohoBooksApi.SendInvoiceEmail@1.0.0", + "description": "Email an invoice to a customer with optional content customization.\n\n This tool is used to email an invoice to a customer. It can be called when there's a need to send invoice details via email, optionally allowing custom content. If no custom content is provided, default mail content will be used.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization to which the invoice is linked. This ID is required to specify which organization's invoice is being emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique string identifier for the specific invoice to be emailed. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_email_attachments", + "type": "string", + "required": false, + "description": "A comma-separated list of file paths to attach to the email. Provide file paths if additional files need to be included with the invoice email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_customer_statement", + "type": "boolean", + "required": false, + "description": "Set to 'True' to send the customer statement PDF with the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_invoice_attachment", + "type": "boolean", + "required": false, + "description": "Set to true to attach the invoice with the email; false to exclude it. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendInvoiceEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "invoice_email_attachments": { + "value": "/files/terms.pdf,/files/warranty.pdf", + "type": "string", + "required": false + }, + "send_customer_statement": { + "value": true, + "type": "boolean", + "required": false + }, + "send_invoice_attachment": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"email\": {\"to_mail_ids\": [\"customer@example.com\"], \"subject\": \"Invoice INV-1001 from Acme Corp\", \"body\": \"Dear Customer,\\n\\nPlease find attached your invoice INV-1001. If you have any questions, reply to this email.\\n\\nBest regards,\\nAcme Corp Billing Team\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendInvoiceReminders", + "qualifiedName": "ZohoBooksApi.SendInvoiceReminders", + "fullyQualifiedName": "ZohoBooksApi.SendInvoiceReminders@1.0.0", + "description": "Send email reminders for unpaid invoices.\n\nUse this tool to remind customers about unpaid invoices by email. It sends reminder emails only for open or overdue invoices, with a maximum of 10 invoices at a time.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the invoice reminders are to be sent.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_ids", + "type": "string", + "required": true, + "description": "List of invoice IDs to send reminders for. Only for open or overdue invoices, up to 10 at once.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_invoice_reminder'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendInvoiceReminders", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "invoice_ids": { + "value": "1001,1002,1003,1004", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendInvoicesEmail", + "qualifiedName": "ZohoBooksApi.SendInvoicesEmail", + "fullyQualifiedName": "ZohoBooksApi.SendInvoicesEmail@1.0.0", + "description": "Send up to 10 invoices by email to customers.\n\n This tool is used to email invoices to your customers, allowing you to send up to 10 invoices in a single request.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The organization ID for which invoices will be emailed. Required for sending emails. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comma_separated_invoice_ids", + "type": "string", + "required": false, + "description": "Comma separated list of invoice IDs to be emailed. Maximum 10 IDs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_invoices'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendInvoicesEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "comma_separated_invoice_ids": { + "value": "INV-1001,INV-1002,INV-1003", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"Your Invoices from Acme Corp\",\"body\":\"Dear Customer,\\n\\nPlease find attached your invoices for this period. If you have any questions, reply to this email.\\n\\nBest regards,\\nAcme Corp Billing Team\",\"from_email\":\"billing@acme.example\",\"cc_emails\":[\"accounting@acme.example\"],\"bcc_emails\":[],\"send_pdf\":true,\"email_template_id\":\"tmpl_987654321\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendPurchaseOrderEmail", + "qualifiedName": "ZohoBooksApi.SendPurchaseOrderEmail", + "fullyQualifiedName": "ZohoBooksApi.SendPurchaseOrderEmail@1.0.0", + "description": "Send a purchase order email to the vendor.\n\n Use this tool to email a purchase order to the vendor. If no custom content is provided, the email will be sent with default content.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization the purchase order belongs to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": false, + "description": "Unique identifier of the purchase order to be emailed to the vendor. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "A comma-separated list of file paths or URLs to attach to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_file_name", + "type": "string", + "required": false, + "description": "The name of the file to attach to the email for the purchase order. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_purchase_order_attachment", + "type": "boolean", + "required": false, + "description": "Set to true to include the purchase order as an attachment with the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendPurchaseOrderEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "purchase_order_id": { + "value": "PO-1001", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "https://example.com/terms.pdf,https://cdn.example.com/specs.pdf", + "type": "string", + "required": false + }, + "attachment_file_name": { + "value": "PO-1001.pdf", + "type": "string", + "required": false + }, + "send_purchase_order_attachment": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"subject\":\"Purchase Order PO-1001\",\"content\":\"Hello,\\nPlease find attached Purchase Order PO-1001. Let us know if you have questions.\\nRegards,\\nAcme Corp\",\"to_mail_ids\":[\"vendor@example.com\"],\"cc_mail_ids\":[\"purchasing@example.com\"],\"bcc_mail_ids\":[],\"send_mail_from_org_email_id\":false}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SendVendorPaymentEmail", + "qualifiedName": "ZohoBooksApi.SendVendorPaymentEmail", + "fullyQualifiedName": "ZohoBooksApi.SendVendorPaymentEmail@1.0.0", + "description": "Send a payment receipt email to a vendor.\n\n This tool sends a vendor payment receipt to a vendor via email. You can customize the email content, attach files, and control sender preferences. If no customizations are provided, the email will use default templates.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the vendor payment email is being sent. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_id", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor payment. Used to retrieve and send the corresponding payment receipt via email. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "email_attachments", + "type": "string", + "required": false, + "description": "List of file paths or URLs to attach to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attached_file_name", + "type": "string", + "required": false, + "description": "Specify the name of the file to be attached to the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "send_vendor_payment_attachment", + "type": "boolean", + "required": false, + "description": "Set to true to include the vendor payment attachment in the email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'email_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SendVendorPaymentEmail", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "vendor_payment_id": { + "value": "VP-1001", + "type": "string", + "required": false + }, + "email_attachments": { + "value": "[\"https://example.com/receipts/VP-1001.pdf\"]", + "type": "string", + "required": false + }, + "attached_file_name": { + "value": "VP-1001-receipt.pdf", + "type": "string", + "required": false + }, + "send_vendor_payment_attachment": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"to_mail_ids\":[\"vendor@example.com\"],\"subject\":\"Payment Receipt for VP-1001\",\"message\":\"Dear Vendor, Please find attached the payment receipt for the recent transaction. Regards, Your Company\",\"cc_mail_ids\":[\"accounting@example.com\"],\"from_mail_id\":\"payments@yourcompany.com\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SetInvoiceAttachmentPreference", + "qualifiedName": "ZohoBooksApi.SetInvoiceAttachmentPreference", + "fullyQualifiedName": "ZohoBooksApi.SetInvoiceAttachmentPreference@1.0.0", + "description": "Set the email attachment preference for an invoice.\n\nThis tool updates whether an attached file should be sent when emailing a specific invoice in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific invoice to update attachment preference.", + "enum": null, + "inferrable": true + }, + { + "name": "send_attachment_with_email", + "type": "boolean", + "required": true, + "description": "Set to true to send the attachment with the invoice when emailed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_attachment_preference'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SetInvoiceAttachmentPreference", + "parameters": { + "organization_id": { + "value": "1234567890abcdef", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": true + }, + "send_attachment_with_email": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SetPrimaryLocation", + "qualifiedName": "ZohoBooksApi.SetPrimaryLocation", + "fullyQualifiedName": "ZohoBooksApi.SetPrimaryLocation@1.0.0", + "description": "Marks a specified location as primary in Zoho Books.\n\nUse this tool to designate a specific location as the primary one in Zoho Books. This is useful for managing location preferences and ensuring the correct primary location is set.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization for which to set the primary location in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "location_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the location to be marked as primary.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_location_primary'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SetPrimaryLocation", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "location_identifier": { + "value": "LOC_987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SetSalesOrderAttachmentPreference", + "qualifiedName": "ZohoBooksApi.SetSalesOrderAttachmentPreference", + "fullyQualifiedName": "ZohoBooksApi.SetSalesOrderAttachmentPreference@1.0.0", + "description": "Sets attachment preference for sales order emails.\n\nUse this tool to set whether an attached file should be sent when emailing a sales order. Call this when you need to update the attachment settings on a specific sales order.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which you want to update the attachment preference.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to update.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_attachment_in_email", + "type": "boolean", + "required": true, + "description": "Indicate if the file can be sent in the email. Set to true to allow, false to prevent.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_attachment_preference1'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SetSalesOrderAttachmentPreference", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-2026-0001", + "type": "string", + "required": true + }, + "allow_attachment_in_email": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StartTimeTracking", + "qualifiedName": "ZohoBooksApi.StartTimeTracking", + "fullyQualifiedName": "ZohoBooksApi.StartTimeTracking@1.0.0", + "description": "Initiate time tracking for a specific entry.\n\nUse this tool to start tracking time for a given time entry in Zoho Books. It should be called when you need to begin or resume tracking time on a project task.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "ID of the organization for which the time tracking is to be started.", + "enum": null, + "inferrable": true + }, + { + "name": "time_entry_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the specific time entry to be tracked.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'start_entry_timer'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StartTimeTracking", + "parameters": { + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": true + }, + "time_entry_identifier": { + "value": "timeentry_11223344", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "Stop1099TrackingForVendor", + "qualifiedName": "ZohoBooksApi.Stop1099TrackingForVendor", + "fullyQualifiedName": "ZohoBooksApi.Stop1099TrackingForVendor@1.0.0", + "description": "Stop 1099 payment tracking for a vendor in the U.S.\n\nUse to disable 1099 reporting for vendor payments in the U.S. organization.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization where 1099 tracking will be stopped.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_contact_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor contact to stop 1099 tracking.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'untrack_contact_1099'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.Stop1099TrackingForVendor", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "vendor_contact_id": { + "value": "678901234567890", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StopRecurringBill", + "qualifiedName": "ZohoBooksApi.StopRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.StopRecurringBill@1.0.0", + "description": "Stop an active recurring bill in Zoho Books.\n\nUse this tool to stop an active recurring bill in Zoho Books when you need to discontinue ongoing payments. It provides confirmation upon successful stoppage.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID representing the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring bill to be stopped.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'stop_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StopRecurringBill", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "recurring_bill_identifier": { + "value": "RB-2026-00042", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StopRecurringExpense", + "qualifiedName": "ZohoBooksApi.StopRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.StopRecurringExpense@1.0.0", + "description": "Stop an active recurring expense in Zoho Books.\n\nThis tool is used to stop an active recurring expense in Zoho Books. It should be called when a user wants to terminate a recurring payment schedule associated with an expense.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which the recurring expense will be stopped.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_expense_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the recurring expense to be stopped.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'stop_recurring_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StopRecurringExpense", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "recurring_expense_identifier": { + "value": "REX-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StopRecurringInvoice", + "qualifiedName": "ZohoBooksApi.StopRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.StopRecurringInvoice@1.0.0", + "description": "Stop an active recurring invoice in Zoho Books.\n\n Use this tool to stop an active recurring invoice by providing the recurring invoice ID. This tool is useful for managing billing cycles when you need to halt a recurring charge.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization for which the recurring invoice is to be stopped. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": false, + "description": "The unique identifier for the recurring invoice to be stopped. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'stop_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StopRecurringInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "recurring_invoice_id": { + "value": "87654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"note\":\"Stopping recurring invoice per customer request\",\"stop_date\":\"2026-02-18\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "StopTimeTracking", + "qualifiedName": "ZohoBooksApi.StopTimeTracking", + "fullyQualifiedName": "ZohoBooksApi.StopTimeTracking@1.0.0", + "description": "Stop the timer for a time entry.\n\nUse this tool to stop tracking time for a specific task or activity, such as when taking a break or ending a work session.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization where the time entry is being stopped. This ID is required to specify which organization's time tracking should be affected.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'stop_entry_timer'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.StopTimeTracking", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitBillForApproval", + "qualifiedName": "ZohoBooksApi.SubmitBillForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitBillForApproval@1.0.0", + "description": "Submit a bill for approval in Zoho Books.\n\nUse this tool to submit a specific bill for approval in Zoho Books by providing the bill ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books for which the bill is being submitted.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the bill to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitBillForApproval", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitCreditNoteForApproval", + "qualifiedName": "ZohoBooksApi.SubmitCreditNoteForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitCreditNoteForApproval@1.0.0", + "description": "Submit a credit note for approval in Zoho Books.\n\nCall this tool to submit a credit note for approval in Zoho Books using the credit note ID.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the credit note is being submitted for approval.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to submit for approval in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitCreditNoteForApproval", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "396000012345678901", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitEstimateForApproval", + "qualifiedName": "ZohoBooksApi.SubmitEstimateForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitEstimateForApproval@1.0.0", + "description": "Submit an estimate for approval.\n\nUse this tool to submit a specific estimate for approval by providing the estimate ID. It facilitates the approval workflow for estimates in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books that the estimate belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Unique identifier of the estimate to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitEstimateForApproval", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitInvoiceForApproval", + "qualifiedName": "ZohoBooksApi.SubmitInvoiceForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitInvoiceForApproval@1.0.0", + "description": "Submit an invoice for approval in Zoho Books.\n\nThis tool allows users to submit an invoice for approval using the Zoho Books API. It should be called when an invoice is ready to be reviewed.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_id", + "type": "string", + "required": true, + "description": "The unique identifier for the invoice to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitInvoiceForApproval", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_unique_id": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitPurchaseOrder", + "qualifiedName": "ZohoBooksApi.SubmitPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.SubmitPurchaseOrder@1.0.0", + "description": "Submit a purchase order for approval.\n\nUse this tool to submit a specific purchase order for approval in the Zoho Books system.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization within Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitPurchaseOrder", + "parameters": { + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-98765", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitRetainerInvoice", + "qualifiedName": "ZohoBooksApi.SubmitRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.SubmitRetainerInvoice@1.0.0", + "description": "Submit a retainer invoice for approval in Zoho Books.\n\nUse this tool to submit a specific retainer invoice for approval in Zoho Books. Call this tool when you need to send a retainer invoice for review and approval.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization in Zoho Books to which the retainer invoice belongs.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the retainer invoice for submission.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_retainer_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitRetainerInvoice", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "retainer_invoice_unique_id": { + "value": "RET-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitSalesOrderForApproval", + "qualifiedName": "ZohoBooksApi.SubmitSalesOrderForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitSalesOrderForApproval@1.0.0", + "description": "Submit a sales order for approval in Zoho Books.\n\nUse this tool to submit a sales order for approval in the Zoho Books system by providing the sales order ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books where the sales order is submitted.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitSalesOrderForApproval", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-00012345", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "SubmitVendorCreditForApproval", + "qualifiedName": "ZohoBooksApi.SubmitVendorCreditForApproval", + "fullyQualifiedName": "ZohoBooksApi.SubmitVendorCreditForApproval@1.0.0", + "description": "Submit a vendor credit for approval.\n\nThis tool submits a specified vendor credit for approval based on its unique ID. Use it to move vendor credits from draft to approval status in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The ID of the organization where the vendor credit is submitted for approval.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the vendor credit to be submitted for approval.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'submit_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.SubmitVendorCreditForApproval", + "parameters": { + "organization_id": { + "value": "1234567890", + "type": "string", + "required": true + }, + "vendor_credit_unique_id": { + "value": "VC-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "TrackContactFor1099Reporting", + "qualifiedName": "ZohoBooksApi.TrackContactFor1099Reporting", + "fullyQualifiedName": "ZohoBooksApi.TrackContactFor1099Reporting@1.0.0", + "description": "Track a contact for 1099 reporting in Zoho Books.\n\nUse this tool to track a contact for 1099 reporting, applicable only when the organization's country is the U.S.A. Ideal for ensuring contacts meet 1099 requirements in financial records.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the organization in Zoho Books required for 1099 reporting. This should be the ID specific to the organization tracked in the U.S.A.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_unique_id", + "type": "string", + "required": true, + "description": "Unique identifier of the contact for 1099 tracking.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'track_contact_1099'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.TrackContactFor1099Reporting", + "parameters": { + "organization_identifier": { + "value": "680195648", + "type": "string", + "required": true + }, + "contact_unique_id": { + "value": "c_9f8e7d6c5b4a", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UncategorizeBankTransaction", + "qualifiedName": "ZohoBooksApi.UncategorizeBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.UncategorizeBankTransaction@1.0.0", + "description": "Revert a categorized bank transaction to uncategorized.\n\nUse this tool to uncategorize a previously categorized bank transaction. Call this when needing to correct or revert the categorization of a transaction in Zoho Books.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books for which the transaction is to be uncategorized.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_id", + "type": "string", + "required": true, + "description": "Unique identifier of the bank transaction to uncategorize.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id_for_transactions", + "type": "string", + "required": false, + "description": "The mandatory Account ID for which transactions are to be listed.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'uncategorize_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UncategorizeBankTransaction", + "parameters": { + "organization_id": { + "value": "6000123456789", + "type": "string", + "required": true + }, + "bank_transaction_id": { + "value": "9876543210987654321", + "type": "string", + "required": true + }, + "account_id_for_transactions": { + "value": "4000987654321", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UnmatchBankTransaction", + "qualifiedName": "ZohoBooksApi.UnmatchBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.UnmatchBankTransaction@1.0.0", + "description": "Unmatch a previously matched bank transaction.\n\nUse this tool to unmatch a bank transaction that was previously categorized, reverting it to an uncategorized state.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the transaction unmatching is to be performed.", + "enum": null, + "inferrable": true + }, + { + "name": "transaction_id", + "type": "string", + "required": true, + "description": "The unique identifier of the bank transaction to be unmatched.", + "enum": null, + "inferrable": true + }, + { + "name": "account_id_for_transactions", + "type": "string", + "required": false, + "description": "The mandatory ID of the account for which transactions are to be unlisted. This is essential to specify the correct account involved in the transaction.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'unmatch_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UnmatchBankTransaction", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "transaction_id": { + "value": "TRX-2026-000123", + "type": "string", + "required": true + }, + "account_id_for_transactions": { + "value": "ACC-987654321", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateAccountInfo", + "qualifiedName": "ZohoBooksApi.UpdateAccountInfo", + "fullyQualifiedName": "ZohoBooksApi.UpdateAccountInfo@1.0.0", + "description": "Updates account information in Zoho Books.\n\n This tool updates the chart of account details for a specified account in Zoho Books. It should be called when account information needs modification, such as changing account names, codes, or related details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The ID of the organization for which the account will be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "account_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the account to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_chart_of_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateAccountInfo", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "org_1234567890", + "type": "string", + "required": false + }, + "account_identifier": { + "value": "acct_9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Office Supplies\",\"account_code\":\"6001\",\"type\":\"Expense\",\"description\":\"Updated account for office supplies and stationery\",\"is_active\":true,\"opening_balance\":0.00}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBankAccountRule", + "qualifiedName": "ZohoBooksApi.UpdateBankAccountRule", + "fullyQualifiedName": "ZohoBooksApi.UpdateBankAccountRule@1.0.0", + "description": "Update or modify a bank account rule in Zoho Books.\n\n This tool updates an existing bank account rule in Zoho Books. It should be called when you need to make changes to a rule, either by adding new criteria or modifying existing ones. The tool provides confirmation once the rule update is successful.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books for which the bank account rule needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_rule_id", + "type": "string", + "required": false, + "description": "Unique identifier for the bank account rule to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bank_account_rule'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBankAccountRule", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "ORG123456789", + "type": "string", + "required": false + }, + "bank_account_rule_id": { + "value": "BRULE12345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"rule_name\":\"Auto Categorize - Utilities\",\"priority\":1,\"active\":true,\"criteria\":[{\"field\":\"description\",\"operator\":\"contains\",\"value\":\"Electric Co\"},{\"field\":\"amount\",\"operator\":\"less_than\",\"value\":200.00}],\"actions\":{\"create_transaction\":false,\"assign_account_id\":\"1234567890123456789\",\"assign_tax_id\":\"9876543210\",\"notes\":\"Updated to capture smaller utility payments\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBankAccountZohoBooks", + "qualifiedName": "ZohoBooksApi.UpdateBankAccountZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.UpdateBankAccountZohoBooks@1.0.0", + "description": "Modify a bank account in Zoho Books.\n\n Use this tool to update details of an existing bank account in Zoho Books. It should be called when there's a need to modify account information such as account name or details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to be modified. Required for identifying the specific organization's bank account. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_account_id", + "type": "string", + "required": false, + "description": "Unique identifier of the bank account to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bank_account'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBankAccountZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "bank_account_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"account_name\":\"Operating Account\",\"bank_name\":\"First National Bank\",\"account_number\":\"123456789\",\"account_type\":\"Checking\",\"ifsc_code\":\"IFSC0001234\",\"opening_balance\":5000.00}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBankTransaction", + "qualifiedName": "ZohoBooksApi.UpdateBankTransaction", + "fullyQualifiedName": "ZohoBooksApi.UpdateBankTransaction@1.0.0", + "description": "Update details of a specific bank transaction.\n\n This tool updates the specified bank transaction with the provided information. Call this tool to make changes to existing transaction details in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books for which the bank transaction is being updated. This is required to specify the organization context for the transaction update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bank_transaction_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific bank transaction to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.banking.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bank_transaction'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBankTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "bank_transaction_identifier": { + "value": "BTX-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"bank_transaction\":{\"date\":\"2026-02-15\",\"amount\":2500.00,\"description\":\"Updated payment for invoice INV-1001\",\"reference_number\":\"REF-2026-001\",\"cheque_number\":\"CHQ-12345\",\"account_id\":\"1234567890\",\"bank_account_id\":\"9876543210\",\"status\":\"reconciled\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBillByCustomField", + "qualifiedName": "ZohoBooksApi.UpdateBillByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateBillByCustomField@1.0.0", + "description": "Update or create a bill using a custom field identifier.\n\n Use this tool to update an existing bill or create a new one by specifying a custom field's unique value. The tool retrieves the bill based on the custom field value provided. If the bill is not found and the X-Upsert option is enabled, a new bill will be created with the provided details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the bill is to be updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_identifier_key", + "type": "string", + "required": false, + "description": "Specify the API name of the custom field with unique values for identifying the bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_unique_value", + "type": "string", + "required": false, + "description": "Provide the unique value from the custom field to identify and update the specific bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_upsert", + "type": "boolean", + "required": false, + "description": "Set to true to enable upsert functionality. Creates a new bill if no existing bill matches the custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bill_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBillByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "369874562", + "type": "string", + "required": false + }, + "unique_identifier_key": { + "value": "custom_field_1", + "type": "string", + "required": false + }, + "custom_field_unique_value": { + "value": "CUSTOM-UNIQUE-123", + "type": "string", + "required": false + }, + "enable_upsert": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"123456789\",\"billing_address\":{\"address\":\"123 Main St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"date\":\"2025-02-01\",\"due_date\":\"2025-02-15\",\"ref_number\":\"BILL-1001\",\"line_items\":[{\"item_id\":\"98765\",\"description\":\"Widget A\",\"quantity\":10,\"rate\":15.5},{\"description\":\"One-time setup\",\"quantity\":1,\"rate\":50.0}],\"notes\":\"Updated via API\",\"custom_fields\":[{\"index\":1,\"value\":\"CUSTOM-UNIQUE-123\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdateBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateBillingAddress@1.0.0", + "description": "Updates the billing address for a specified bill.\n\n This tool is used to update the billing address associated with a specific bill. It should be called when there's a need to modify the billing address details of an existing bill.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the billing address is being updated. This identifier is necessary to access specific organizational data. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_unique_identifier", + "type": "string", + "required": false, + "description": "Provide the unique identifier for the bill to update its billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bill_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "bill_unique_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"Accounts Payable\",\"address\":\"123 Main St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"phone\":\"+1-415-555-0100\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBillingAddressRetainerInvoice", + "qualifiedName": "ZohoBooksApi.UpdateBillingAddressRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.UpdateBillingAddressRetainerInvoice@1.0.0", + "description": "Update billing address for a retainer invoice.\n\n This tool updates the billing address associated with a specific retainer invoice. It should be used when there's a need to change the billing address for a particular invoice without affecting other records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization's invoice needs updating. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the retainer invoice to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_retainer_invoice_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBillingAddressRetainerInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "RI_987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\": {\"attention_to\": \"John Doe\", \"street\": \"123 Main St\", \"city\": \"San Francisco\", \"state\": \"CA\", \"zip\": \"94105\", \"country\": \"United States\", \"phone\": \"+1-415-555-0123\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBillInZoho", + "qualifiedName": "ZohoBooksApi.UpdateBillInZoho", + "fullyQualifiedName": "ZohoBooksApi.UpdateBillInZoho@1.0.0", + "description": "Updates a bill by modifying details in Zoho Books.\n\n This tool is used to update a bill in Zoho Books. It allows you to modify details or remove line items by excluding them from the list. Call this tool when you need to make changes to an existing bill.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required for updating a bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_unique_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the bill to be updated in Zoho Books. Ensure this matches the bill you intend to modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "file_attachment", + "type": "string", + "required": false, + "description": "File to attach. Allowed extensions: gif, png, jpeg, jpg, bmp, pdf. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBillInZoho", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "bill_unique_identifier": { + "value": "9876543210", + "type": "string", + "required": false + }, + "file_attachment": { + "value": "receipt-2026-02-15.pdf", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"bill\":{\"vendor_id\":\"1234567890\",\"bill_number\":\"BILL-2026-004\",\"date\":\"2026-02-10\",\"due_date\":\"2026-03-10\",\"reference_number\":\"PO-7890\",\"notes\":\"Updated line item quantities and rates.\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Consulting services - March\",\"rate\":150.0,\"quantity\":10,\"account_id\":\"555666777\",\"tax_id\":\"111222333\"},{\"item_id\":\"555444333\",\"description\":\"Software license renewal\",\"rate\":200.0,\"quantity\":1,\"account_id\":\"555666778\"}],\"exchange_rate\":1.0,\"currency_id\":\"USD\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateBusinessContact", + "qualifiedName": "ZohoBooksApi.UpdateBusinessContact", + "fullyQualifiedName": "ZohoBooksApi.UpdateBusinessContact@1.0.0", + "description": "Update detailed information for an existing business contact.\n\n Use this tool to modify comprehensive details of an existing contact, including addresses, contact persons, and payment terms. Useful for keeping contact information up-to-date with the latest business details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization to which the contact belongs. This is required for identifying the organization context for the update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_id", + "type": "string", + "required": false, + "description": "Unique identifier for the contact to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_contact'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateBusinessContact", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "contact_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"contact_name\":\"Acme Corporation\",\"company_name\":\"Acme Corporation\",\"contact_type\":\"customer\",\"contact_persons\":[{\"first_name\":\"Jane\",\"last_name\":\"Doe\",\"email\":\"jane.doe@acme.example\",\"phone\":\"+1-555-0101\",\"mobile\":\"+1-555-0102\",\"is_primary_contact\":true},{\"first_name\":\"John\",\"last_name\":\"Smith\",\"email\":\"john.smith@acme.example\",\"phone\":\"+1-555-0103\",\"is_primary_contact\":false}],\"billing_address\":{\"address\":\"123 Market Street\",\"city\":\"Metropolis\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"fax\":\"+1-555-0199\"},\"shipping_address\":{\"address\":\"456 Warehouse Ave\",\"city\":\"Metropolis\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"USA\"},\"payment_terms\":30,\"payment_terms_label\":\"Net 30\",\"currency_id\":\"643927000000100201\",\"notes\":\"Preferred contact: Jane Doe. Update billing account reference to ACME-2026.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateContactAddress", + "qualifiedName": "ZohoBooksApi.UpdateContactAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateContactAddress@1.0.0", + "description": "Edit the additional address of a contact.\n\n Use this tool to update the additional address associated with a contact in Zoho Books. It requires the contact ID and address ID to specify the contact and address to be updated.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This is required to specify which organization's contact address needs updating. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the contact to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "address_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the address to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_contact_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateContactAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "contact_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "address_identifier": { + "value": "555444333", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"address\":{\"attention\":\"Mr. John Doe\",\"address\":\"456 Oak Avenue\",\"city\":\"Gotham\",\"state\":\"NY\",\"zip\":\"10001\",\"country\":\"USA\",\"phone\":\"+1-555-0100\",\"fax\":\"+1-555-0101\",\"is_primary\":false,\"label\":\"Branch Office\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateContactByCustomField", + "qualifiedName": "ZohoBooksApi.UpdateContactByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateContactByCustomField@1.0.0", + "description": "Update a contact using a unique custom field value.\n\n This tool updates or creates a contact in Zoho Books based on a unique custom field value. Use it when you need to modify a contact using a non-duplicate custom field value, or create a new contact if the unique value isn't found and upsert is enabled.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books. This is required to specify which organization's records to update or create. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the contact. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify the contact. Must be a non-duplicate value. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_contact_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new contact if the unique custom field value isn't found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_contact_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateContactByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "custom_field_api_name": { + "value": "cf_EmployeeID", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "EMP-12345", + "type": "string", + "required": false + }, + "create_contact_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"contact\":{\"contact_name\":\"Jane Doe\",\"company_name\":\"Acme Corp\",\"contact_persons\":[{\"first_name\":\"Jane\",\"last_name\":\"Doe\",\"email\":\"jane.doe@example.com\",\"phone\":\"+1-555-0102\"}],\"billing_address\":{\"attention\":\"Jane Doe\",\"address\":\"123 Main St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\"},\"custom_fields\":{\"cf_EmployeeID\":\"EMP-12345\"}}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateContactPerson", + "qualifiedName": "ZohoBooksApi.UpdateContactPerson", + "fullyQualifiedName": "ZohoBooksApi.UpdateContactPerson@1.0.0", + "description": "Update an existing contact person's details.\n\n Use this tool to update the details of an existing contact person in the system. This is useful when changes to contact information are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID representing the organization whose contact person is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "contact_person_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the contact person to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.contacts.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_contact_person'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateContactPerson", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "contact_person_identifier": { + "value": "9876543210", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"contact_person\":{\"first_name\":\"Jane\",\"last_name\":\"Doe\",\"email\":\"jane.doe@example.com\",\"phone\":\"+1-555-0100\",\"mobile\":\"+1-555-0101\",\"is_primary_contact\":true,\"designation\":\"Procurement Manager\",\"department\":\"Purchasing\",\"notes\":\"Updated phone numbers and designation.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteBillingAddress@1.0.0", + "description": "Update the billing address for a specific credit note.\n\n This tool updates the billing address associated with an existing credit note in Zoho Books. It should be called when a change in billing information for a specific credit note is required.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required to specify which organization's data is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_identifier", + "type": "string", + "required": false, + "description": "A unique identifier for the credit note to update its billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "credit_note_identifier": { + "value": "CN-2026-000123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"Jane Doe\",\"street\":\"456 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94105\",\"country\":\"USA\",\"phone\":\"+1-415-555-0123\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteDetails", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteDetails@1.0.0", + "description": "Update details of an existing credit note.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization's credit note to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the credit note to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to provide your own credit note number instead of using the auto-generated one. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6000000000001", + "type": "string", + "required": false + }, + "credit_note_unique_identifier": { + "value": "9876543210", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"creditnote_number\":\"CN-1002\",\"date\":\"2026-02-01\",\"customer_id\":\"123456789\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Returned Widget\",\"rate\":50.00,\"quantity\":2,\"tax_id\":\"1111111\"}],\"notes\":\"Updated credit note for returned items\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteShippingAddress", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteShippingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteShippingAddress@1.0.0", + "description": "Updates the shipping address of an existing credit note.\n\n Use this tool to update the shipping address for a specific credit note. Call this when you need to change the recipient's address on a credit note document.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "ID of the organization to which the credit note belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to update the shipping address for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_shipping_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteShippingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "60001234567", + "type": "string", + "required": false + }, + "credit_note_id": { + "value": "3928475612345678", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"shipping_address\":{\"attention\":\"Jane Doe\",\"address\":\"456 Customer Ln\",\"street2\":\"Suite 200\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"United States\",\"phone\":\"+1-415-555-0123\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteTemplate", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteTemplate@1.0.0", + "description": "Updates the PDF template for a specified credit note.\n\nUse this tool to change the PDF template associated with a specific credit note by providing the credit note ID and the template ID.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the organization. Required to specify which organization's credit note template will be updated.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note to be updated.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_template_id", + "type": "string", + "required": true, + "description": "Unique identifier of the credit note template to be updated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteTemplate", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "credit_note_id": { + "value": "9876543210", + "type": "string", + "required": true + }, + "credit_note_template_id": { + "value": "template_001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCreditNoteWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateCreditNoteWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateCreditNoteWithCustomField@1.0.0", + "description": "Update or create a credit note using a custom field.\n\n Use this tool to modify an existing credit note or create a new one with unique values in custom fields. If the specified unique value doesn't match any existing credit note and upsert is enabled, a new credit note will be created given the necessary details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization to which the credit note belongs. This identifies the target organization for the update or creation operation. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_key", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the credit note. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_unique_value", + "type": "string", + "required": false, + "description": "The unique value for the custom field used to identify the credit note to update or create. Ensure this matches the specific custom field's unique value constraints. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_credit_note_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new credit note if the unique custom field value isn't found in existing credit notes. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCreditNoteWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6723456789012345678", + "type": "string", + "required": false + }, + "unique_custom_field_key": { + "value": "customfield_12345", + "type": "string", + "required": false + }, + "custom_field_unique_value": { + "value": "CN-UNQ-20260218-001", + "type": "string", + "required": false + }, + "create_new_credit_note_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"1234567890123456789\",\"date\":\"2026-02-18\",\"reference_number\":\"CN-2026-0001\",\"line_items\":[{\"item_id\":\"9876543210987654321\",\"description\":\"Service retainer\",\"rate\":1500.0,\"quantity\":1,\"discount\":0}],\"adjustment\":0,\"custom_fields\":[{\"api_name\":\"customfield_12345\",\"value\":\"CN-UNQ-20260218-001\"}],\"notes\":\"Updated via API using unique custom field upsert.\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCurrencyDetails", + "qualifiedName": "ZohoBooksApi.UpdateCurrencyDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateCurrencyDetails@1.0.0", + "description": "Update the details of a currency in Zoho Books.\n\n Use this tool to update information for a specific currency in Zoho Books by providing the currency ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the currency details are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the currency to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_currency'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCurrencyDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "currency_unique_identifier": { + "value": "EUR", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"currency\":{\"currency_name\":\"Euro\",\"currency_code\":\"EUR\",\"currency_symbol\":\"€\",\"decimal_places\":2,\"is_active\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomerDebitNote", + "qualifiedName": "ZohoBooksApi.UpdateCustomerDebitNote", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomerDebitNote@1.0.0", + "description": "Update an existing customer debit note.\n\n Use this tool to update details of an existing customer debit note in Zoho Books. Remove a line item by omitting it from the line_items list.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Organization ID for the request within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "debit_note_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the debit note to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic debit note number generation, requiring manual input of the debit note number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_customer_debit_note'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomerDebitNote", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "debit_note_unique_identifier": { + "value": "1234567890123456789", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"1234567890123456789\",\"debit_note_number\":\"DN-2026-005\",\"date\":\"2026-02-01\",\"reference_number\":\"REF-001\",\"notes\":\"Updated debit note\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Consulting services - Feb 2026\",\"quantity\":10,\"rate\":150.0,\"tax_id\":\"111111111\"},{\"name\":\"Setup Fee\",\"description\":\"One-time setup\",\"quantity\":1,\"rate\":500.0,\"account_id\":\"222222222\"}],\"discount\":{\"type\":\"percent\",\"value\":5},\"shipping_charge\":20.0,\"adjustment\":0.0}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomerPaymentCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateCustomerPaymentCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomerPaymentCustomFields@1.0.0", + "description": "Update custom fields in existing customer payments.\n\n Use this tool to update the values of custom fields in an existing customer payment in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the customer payment belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the customer payment you wish to update custom fields for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomerPaymentCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "customer_payment_identifier": { + "value": "CPAY-000123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"index\":1,\"value\":\"VIP Customer\"},{\"index\":2,\"value\":\"Referral: Partner X\"},{\"index\":3,\"value\":\"2026-02-18\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomerPaymentInfo", + "qualifiedName": "ZohoBooksApi.UpdateCustomerPaymentInfo", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomerPaymentInfo@1.0.0", + "description": "Update an existing payment information.\n\n Use this tool to update payment information for a customer when any corrections or modifications are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the payment update is requested. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_unique_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the payment to be updated. Use this to specify which payment you want to modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_customer_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomerPaymentInfo", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "payment_unique_identifier": { + "value": "pmnt_987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"payment\":{\"payment_id\":\"pmnt_987654321\",\"date\":\"2026-02-15\",\"amount\":150.00,\"received_through\":\"Credit Card\",\"reference_number\":\"REF-20260215-01\",\"exchange_rate\":1.0,\"description\":\"Updated payment amount after adjustment\",\"account_id\":\"acc_112233\",\"invoices\":[{\"invoice_id\":\"inv_555666\",\"amount_applied\":100.00},{\"invoice_id\":\"inv_555667\",\"amount_applied\":50.00}],\"custom_fields\":[{\"label\":\"Subscription Plan\",\"value\":\"Pro\"},{\"label\":\"Batch\",\"value\":\"B-42\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomFieldsInBill", + "qualifiedName": "ZohoBooksApi.UpdateCustomFieldsInBill", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomFieldsInBill@1.0.0", + "description": "Update custom fields in existing bills.\n\n This tool is used to update the value of custom fields in existing bills. It should be called when you need to change or add information to the custom fields of a specific bill identified by its bill ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization for which the bill's custom fields are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "bill_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the bill to update its custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomFieldsInBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "bill_identifier": { + "value": "BILL-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"index\":1,\"value\":\"High Priority\"},{\"index\":2,\"value\":\"Project X\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomFieldsPurchaseOrder", + "qualifiedName": "ZohoBooksApi.UpdateCustomFieldsPurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomFieldsPurchaseOrder@1.0.0", + "description": "Update custom field values in purchase orders.\n\n This tool updates the values of custom fields within existing purchase orders in Zoho Books. It should be called when there is a need to modify or update custom information in a specific purchase order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization associated with the purchase order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": false, + "description": "A unique identifier for the purchase order to update custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomFieldsPurchaseOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "org_987654321", + "type": "string", + "required": false + }, + "purchase_order_id": { + "value": "PO-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"custom_field_id\":\"cf_112233\",\"value\":\"Approved by finance\"},{\"label\":\"Delivery instructions\",\"value\":\"Leave at back door\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomModuleRecord", + "qualifiedName": "ZohoBooksApi.UpdateCustomModuleRecord", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomModuleRecord@1.0.0", + "description": "Update an existing custom module in Zoho Books.\n\n Use this tool to update an existing custom module record in Zoho Books by specifying the module name and module ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": false, + "description": "The name of the custom module to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_module_id", + "type": "integer", + "required": false, + "description": "The ID of the custom module to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_module_record'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomModuleRecord", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "module_name": { + "value": "CustomProjects", + "type": "string", + "required": false + }, + "custom_module_id": { + "value": 987654321, + "type": "integer", + "required": false + }, + "request_body": { + "value": "{\"custom_module\": {\"Module_Field_1\": \"Updated value\", \"Module_Field_2\": 42, \"Date_Field\": \"2026-02-18\", \"Multi_Select_Field\": [\"Option A\",\"Option B\"], \"Lookup_Field\": {\"id\": \"54321\", \"name\": \"Related Record\"}}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateCustomModuleRecords", + "qualifiedName": "ZohoBooksApi.UpdateCustomModuleRecords", + "fullyQualifiedName": "ZohoBooksApi.UpdateCustomModuleRecords@1.0.0", + "description": "Updates existing custom module records in bulk.\n\n Use this tool to update multiple records in a custom module efficiently. This is useful for making uniform changes across a set of records within a specified module.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization that owns the module records to be updated. This ID is required to specify which organization's records are being modified. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "module_name", + "type": "string", + "required": false, + "description": "Specify the name of the custom module to update records in bulk. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.custommodules.ALL" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'bulk_update_custom_module_records'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateCustomModuleRecords", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "module_name": { + "value": "CustomModule_Projects", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"data\":[{\"id\":\"1001\",\"Project_Name\":\"Website Redesign\",\"Status\":\"In Progress\",\"Custom_Priority\":\"High\"},{\"id\":\"1002\",\"Project_Name\":\"Cloud Migration\",\"Status\":\"Completed\",\"Custom_Priority\":\"Normal\"}],\"ignore_mandatory_fields\":false}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimate", + "qualifiedName": "ZohoBooksApi.UpdateEstimate", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimate@1.0.0", + "description": "Update an existing estimate in Zoho Books.\n\n Use this tool to modify an existing estimate in Zoho Books. When updating, you can remove a line item by excluding it from the line_items list.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization whose estimate needs updating. It should be a unique identifier in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_unique_id", + "type": "string", + "required": false, + "description": "Unique identifier for the estimate you want to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore auto generation of estimate numbers and manually specify the estimate number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "estimate_unique_id": { + "value": "ESTM-0002345", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"estimate_number\":\"EST-2026-1001\",\"customer_id\":\"123456789\",\"date\":\"2026-02-10\",\"expiry_date\":\"2026-03-10\",\"reference_number\":\"PO-9988\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Website development\",\"description\":\"Website redesign\",\"rate\":1500.0,\"quantity\":1},{\"name\":\"Maintenance hours\",\"description\":\"Monthly support\",\"rate\":75.0,\"quantity\":10,\"discount\":0}],\"notes\":\"Updated estimate per client request\",\"shipping_charge\":50.0,\"adjustment\":-25.0}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdateEstimateBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateBillingAddress@1.0.0", + "description": "Updates the billing address for a specific estimate.\n\n Use this tool to update the billing address for a specific estimate in Zoho Books. Call this tool when there's a need to change the billing details associated with an individual estimate.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required to specify the organization whose estimate billing address is to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the estimate to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-00012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"John Doe\",\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"USA\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateComment", + "qualifiedName": "ZohoBooksApi.UpdateEstimateComment", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateComment@1.0.0", + "description": "Update an existing comment on an estimate.\n\n Use this tool to update a specific comment associated with an estimate in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The ID representing the organization. Required to update the comment in the specified organization's estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the estimate to update the comment for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_unique_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the comment to be updated on an estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "8392017384", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-1001", + "type": "string", + "required": false + }, + "comment_unique_identifier": { + "value": "CMT-98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\": {\"content\": \"Updated the delivery date and payment terms. Please review and confirm.\", \"is_visible_to_client\": true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateEstimateCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateCustomFields@1.0.0", + "description": "Update custom fields in a specific estimate.\n\n This tool updates the values of custom fields in an existing estimate. It should be called when you need to modify or add information to custom fields of a particular estimate.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization whose estimate custom fields are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the estimate to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_estimate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6000000000000012345", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"label\":\"Project Code\",\"value\":\"PC-123\"},{\"label\":\"Approved By\",\"value\":\"Jane Smith\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateShippingAddress", + "qualifiedName": "ZohoBooksApi.UpdateEstimateShippingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateShippingAddress@1.0.0", + "description": "Updates the shipping address for an existing estimate in Zoho Books.\n\n This tool is used to update the shipping address for a specific estimate in the Zoho Books system. It should be called when there's a need to modify the delivery details associated with an existing estimate.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization in Zoho Books whose estimate's shipping address is to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the estimate to update its shipping address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_shipping_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateShippingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "estimate_identifier": { + "value": "EST-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"shipping_address\":{\"attention\":\"Jane Smith\",\"address\":\"456 Market St\",\"street2\":\"Suite 800\",\"city\":\"San Jose\",\"state\":\"CA\",\"zip\":\"95113\",\"country\":\"United States\",\"phone\":\"408-555-0123\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateTemplate", + "qualifiedName": "ZohoBooksApi.UpdateEstimateTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateTemplate@1.0.0", + "description": "Update the PDF template for an estimate.\n\nUse this tool to update the PDF template associated with a specific estimate in Zoho Books by providing the estimate and template IDs.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the estimate template is being updated.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_identifier", + "type": "string", + "required": true, + "description": "Provide the unique identifier for the specific estimate you want to update.", + "enum": null, + "inferrable": true + }, + { + "name": "estimate_template_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the estimate template to update in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateTemplate", + "parameters": { + "organization_identifier": { + "value": "369874562", + "type": "string", + "required": true + }, + "estimate_identifier": { + "value": "EST-2026-0042", + "type": "string", + "required": true + }, + "estimate_template_identifier": { + "value": "TPL-8721", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateEstimateWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateEstimateWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateEstimateWithCustomField@1.0.0", + "description": "Update or create an estimate using a custom field value.\n\n This tool allows updating an existing estimate by providing a unique custom field value. If the value does not match any existing estimates and the X-Upsert header is true, a new estimate will be created if required details are provided. Use this tool to maintain estimates based on unique identifiers.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Provide the ID of the organization for which the estimate is being updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the custom field used to uniquely identify and update an estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify and update the estimate. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_estimate_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new estimate if no existing record matches the custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.estimates.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_estimate_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateEstimateWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6678456789", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "unique_project_code", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "PRJ-2026-0001", + "type": "string", + "required": false + }, + "create_new_estimate_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"estimate\":{\"customer_id\":\"123456789\",\"reference_number\":\"EST-1001\",\"date\":\"2026-02-15\",\"expiry_date\":\"2026-03-17\",\"status\":\"draft\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Website Development\",\"description\":\"Frontend and backend development\",\"rate\":150.00,\"quantity\":10}],\"custom_fields\":[{\"api_name\":\"unique_project_code\",\"value\":\"PRJ-2026-0001\"}],\"notes\":\"Estimate created via API\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateExchangeRate", + "qualifiedName": "ZohoBooksApi.UpdateExchangeRate", + "fullyQualifiedName": "ZohoBooksApi.UpdateExchangeRate@1.0.0", + "description": "Update exchange rate details for a currency in Zoho Books.\n\n This tool updates the exchange rate for a specified currency in Zoho Books. It should be called when you need to modify the exchange rate details, usually for financial reports, accounting adjustments, or compliance with real-time rates.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the exchange rate is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "currency_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the currency you want to update the exchange rate for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "exchange_rate_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the exchange rate to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_exchange_rate'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateExchangeRate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "currency_unique_identifier": { + "value": "USD", + "type": "string", + "required": false + }, + "exchange_rate_identifier": { + "value": "EXR_987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"rate\":1.2345,\"effective_date\":\"2025-01-15\",\"precision\":4,\"is_active\":true,\"note\":\"Updated to market rate\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateExistingExpense", + "qualifiedName": "ZohoBooksApi.UpdateExistingExpense", + "fullyQualifiedName": "ZohoBooksApi.UpdateExistingExpense@1.0.0", + "description": "Update an existing expense in Zoho Books.\n\n Use this tool to modify details of an existing expense in Zoho Books. It should be called when you need to change information such as amount, date, or description of a recorded expense.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization. Required to identify which organization's expense is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the expense to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "expense_receipt_file", + "type": "string", + "required": false, + "description": "File path of the expense receipt to attach. Allowed extensions are gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, and docx. Ensure the file is accessible and in an accepted format. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "delete_receipt", + "type": "boolean", + "required": false, + "description": "Set to true to remove the attached receipt from the expense. Use false to keep it. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_expense'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateExistingExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "678901234567890", + "type": "string", + "required": false + }, + "expense_identifier": { + "value": "EXP-112233", + "type": "string", + "required": false + }, + "expense_receipt_file": { + "value": "/files/receipts/receipt-112233.jpg", + "type": "string", + "required": false + }, + "delete_receipt": { + "value": false, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"date\":\"2026-02-15\",\"amount\":125.50,\"description\":\"Client lunch with ACME Corp\",\"category_id\":\"1234567890\",\"reference_number\":\"EXP-2026-015\",\"billable\":false,\"project_id\":\"987654321\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateExpenseWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateExpenseWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateExpenseWithCustomField@1.0.0", + "description": "Update or create an expense using custom field values.\n\n This tool updates an existing expense based on a unique custom field value. If the unique value doesn't match any existing expenses, and the X-Upsert header is true, a new expense will be created if all required details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the expense update is intended. It is required to identify the target organization in the API. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_api_name", + "type": "string", + "required": false, + "description": "API name of the unique custom field used to identify the expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value for the custom field used to update or create an expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_upsert_new_expense", + "type": "boolean", + "required": false, + "description": "Set to true to create a new expense if no matching unique custom field value is found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_expense_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateExpenseWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "custom_field_api_name": { + "value": "employee_id", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "E-00123", + "type": "string", + "required": false + }, + "allow_upsert_new_expense": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"date\":\"2026-02-15\",\"reference_number\":\"EXP-1001\",\"vendor_id\":\"123456789012345\",\"account_id\":\"987654321098765\",\"amount\":259.75,\"currency_id\":\"USD\",\"notes\":\"Business travel lunch\",\"custom_fields\":[{\"label\":\"EmployeeID\",\"value\":\"E-00123\",\"api_name\":\"employee_id\"},{\"label\":\"ProjectCode\",\"value\":\"PRJ-789\",\"api_name\":\"project_code\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateFixedAssetInfo", + "qualifiedName": "ZohoBooksApi.UpdateFixedAssetInfo", + "fullyQualifiedName": "ZohoBooksApi.UpdateFixedAssetInfo@1.0.0", + "description": "Update fixed asset details in Zoho Books.\n\n Use this tool to update the information of a specific fixed asset in Zoho Books by providing the necessary asset details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization whose fixed asset you wish to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific fixed asset to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateFixedAssetInfo", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6123456789012345678", + "type": "string", + "required": false + }, + "fixed_asset_identifier": { + "value": "ASSET-ENG-2026-001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"asset_name\":\"Office Laptop - Engineering\",\"asset_code\":\"ASSET-ENG-2026-001\",\"purchase_date\":\"2024-11-15\",\"purchase_cost\":2200.00,\"residual_value\":200.00,\"depreciation_method\":\"straight_line\",\"useful_life_years\":5,\"location\":\"Head Office - 5th Floor\",\"department_id\":\"DPT-1002\",\"vendor_name\":\"Tech Supplies Ltd.\",\"asset_account_id\":\"ACC-FA-01\",\"asset_category_id\":\"CAT-IT-01\",\"notes\":\"Assigned to senior engineer. Includes 3-year warranty.\",\"custom_fields\":[{\"label\":\"Warranty Expiry\",\"value\":\"2027-11-14\"},{\"label\":\"Tag Number\",\"value\":\"TAG-7894\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateFixedAssetType", + "qualifiedName": "ZohoBooksApi.UpdateFixedAssetType", + "fullyQualifiedName": "ZohoBooksApi.UpdateFixedAssetType@1.0.0", + "description": "Update a fixed asset type with new information.\n\n Use this tool to update the details of a fixed asset type by providing the relevant asset type ID and new information. It should be called when modifying asset categories in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_type_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the fixed asset type to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_fixed_asset_type'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateFixedAssetType", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "fixed_asset_type_identifier": { + "value": "FA-TYPE-2026", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"name\":\"Office Equipment\",\"description\":\"Computers and peripherals\",\"depreciation_method\":\"straight_line\",\"useful_life_in_years\":5,\"salvage_value\":500.00,\"account_id\":\"4000123456\",\"is_active\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoice", + "qualifiedName": "ZohoBooksApi.UpdateInvoice", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoice@1.0.0", + "description": "Update details of an existing invoice in Zoho Books.\n\n Use this tool to modify the details of an existing invoice. If you need to remove a line item, simply exclude it from the line_items list.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization to which the invoice belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to be updated. Ensure this ID corresponds to an existing invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_invoice_number_generation", + "type": "boolean", + "required": false, + "description": "Set to true to ignore automatic invoice number generation, requiring manual entry of the invoice number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "ORG_123456789", + "type": "string", + "required": false + }, + "invoice_id": { + "value": "INV_987654321", + "type": "string", + "required": false + }, + "ignore_auto_invoice_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"invoice\": {\"customer_id\": \"CUST_555444333\",\"invoice_number\": \"INV-2026-1001\",\"date\": \"2026-02-18\",\"due_date\": \"2026-03-04\",\"reference_number\": \"PO-54321\",\"notes\": \"Updated per customer request.\",\"terms\": \"Payment due within 15 days.\",\"line_items\": [{\"item_id\": \"ITEM_001\",\"name\": \"Consulting Services\",\"description\": \"Monthly consulting - February\",\"rate\": 150.0,\"quantity\": 10,\"discount\": 0},{\"item_id\": \"ITEM_002\",\"name\": \"Support\",\"description\": \"Priority support\",\"rate\": 50.0,\"quantity\": 5,\"discount\": 0}],\"shipping_charge\": 20.0,\"adjustment\": -10.0,\"currency_id\": \"USD\",\"custom_fields\": [{\"label\": \"Project Code\",\"value\": \"PROJ-789\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceByCustomField", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceByCustomField@1.0.0", + "description": "Update or create an invoice using a custom field value.\n\n Call this tool to update an existing invoice or create a new one using a custom field's unique value. If the value is not found and X-Upsert is true, a new invoice will be created if all required details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. This is required to specify which organization's invoice should be updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to locate the invoice to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to find or create the invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_invoice_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new invoice if the unique custom field value is not found in existing invoices. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "external_order_id", + "type": "string", + "required": false + }, + "custom_field_value": { + "value": "EXT-ORD-001", + "type": "string", + "required": false + }, + "create_new_invoice_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"123456789012345\",\"date\":\"2026-02-01\",\"due_date\":\"2026-03-03\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Consulting Service\",\"rate\":150.00,\"quantity\":10}],\"reference_number\":\"INV-2026-1001\",\"notes\":\"Generated via API upsert by custom field\",\"custom_fields\":[{\"label\":\"External Order ID\",\"value\":\"EXT-ORD-001\",\"api_name\":\"external_order_id\"}],\"payment_terms\":30}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceComment", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceComment@1.0.0", + "description": "Update an existing comment on an invoice.\n\n Use this tool to update a specific comment on an invoice by providing the invoice and comment IDs.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "ID of the organization for which the invoice comment needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_id", + "type": "string", + "required": false, + "description": "Unique identifier for the invoice to update its comment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": false, + "description": "Unique identifier of the comment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "123456789", + "type": "string", + "required": false + }, + "invoice_unique_id": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "comment_id": { + "value": "CMT-98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"comment\":\"Updated the invoice comment to include revised payment terms and due date.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceCustomFields@1.0.0", + "description": "Update custom fields in an existing invoice.\n\n Use this tool to modify the value of custom fields in a specified invoice. It should be called when you need to change or update custom information for invoice records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the invoice belongs. This is required to identify the correct organization context for the invoice update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to update custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "invoice_identifier": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"label\":\"Project Code\",\"value\":\"PRJ-123\"},{\"label\":\"PO Number\",\"value\":\"PO-987\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceShippingAddress", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceShippingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceShippingAddress@1.0.0", + "description": "Update the shipping address of a specific invoice.\n\n Use this tool to update the shipping address associated with a specific invoice in Zoho Books. It is used when there's a need to modify the shipping information for an invoice after it has been created.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required to specify which organization's invoice will be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the invoice to update the shipping address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_shipping_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceShippingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "invoice_unique_identifier": { + "value": "INV-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"shipping_address\":{\"attention\":\"Jane Smith\",\"address\":\"456 Oak Ave\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62704\",\"country\":\"USA\",\"phone\":\"+1-555-1234\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateInvoiceTemplate", + "qualifiedName": "ZohoBooksApi.UpdateInvoiceTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateInvoiceTemplate@1.0.0", + "description": "Update the PDF template for a specific invoice.\n\nUse this tool to update the PDF template associated with a particular invoice. This is useful when you need to change the template style or format of an invoice after it has been issued.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "Provide the ID of the organization for which the invoice template is being updated.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the invoice to update the PDF template.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_template_id", + "type": "string", + "required": true, + "description": "Unique identifier for the invoice template to be updated.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_invoice_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateInvoiceTemplate", + "parameters": { + "organization_id": { + "value": "654321987", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + }, + "invoice_template_id": { + "value": "tmpl-4521", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateItemCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateItemCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateItemCustomFields@1.0.0", + "description": "Updates custom fields in an existing item.\n\n Use this tool to update the value of custom fields in existing items. Call it when you need to modify specific custom field information for an item record in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization associated with the item. This is required to specify which organization's item custom fields should be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": false, + "description": "Provide the unique identifier for the item to update its custom fields. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_custom_fields_in_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateItemCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890abcdef", + "type": "string", + "required": false + }, + "item_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"label\":\"Warranty Period\",\"value\":\"18 months\"},{\"label\":\"Manufacturer\",\"value\":\"Acme Corp\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateItemViaCustomField", + "qualifiedName": "ZohoBooksApi.UpdateItemViaCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateItemViaCustomField@1.0.0", + "description": "Update or create an item using a unique custom field.\n\n Use this tool to update an existing item or create a new one based on a unique custom field value in Zoho Books. If the custom field value matches, the item is updated; otherwise, a new item is created if allowed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This ID is used to specify which organization's data you are trying to access or modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used for identifying the item. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify or create an item in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_item_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new item if no item matches the unique custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_item_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateItemViaCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_sku", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "SKU-00123", + "type": "string", + "required": false + }, + "create_item_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"item_name\":\"Sample Widget\",\"rate\":19.99,\"description\":\"A sample widget used for demos\",\"sku\":\"SKU-00123\",\"item_type\":\"goods\",\"account_id\":\"9876543210\",\"custom_fields\":[{\"api_name\":\"cf_sku\",\"value\":\"SKU-00123\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateJournalInZohoBooks", + "qualifiedName": "ZohoBooksApi.UpdateJournalInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.UpdateJournalInZohoBooks@1.0.0", + "description": "Updates a journal entry in Zoho Books with specified details.\n\n This tool updates an existing journal entry in Zoho Books using the provided details. It should be called when a user needs to modify a journal entry in their Zoho Books account.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required for identifying which organization's journal entry to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "journal_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the journal entry to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.accountants.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_journal'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateJournalInZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "journal_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"journal\":{\"date\":\"2026-02-01\",\"reference_number\":\"JRN-2026-0005\",\"notes\":\"Adjusted entries for February closing.\",\"journal_entries\":[{\"account_id\":\"111111111\",\"debit\":1500.00,\"credit\":0.00,\"description\":\"Rent expense adjustment\"},{\"account_id\":\"222222222\",\"debit\":0.00,\"credit\":1500.00,\"description\":\"Bank adjustment\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateLocationInZohoBooks", + "qualifiedName": "ZohoBooksApi.UpdateLocationInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.UpdateLocationInZohoBooks@1.0.0", + "description": "Update location details in Zoho Books.\n\n Use this tool to update location details in Zoho Books by specifying the location ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books. It is required to identify which organization's location is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "location_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the location to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_location'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateLocationInZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "location_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"location\":{\"location_name\":\"Main Warehouse\",\"address\":\"123 Main St\",\"city\":\"Austin\",\"state\":\"TX\",\"country\":\"United States\",\"zip\":\"78701\",\"phone\":\"(512)555-0100\",\"email\":\"warehouse@example.com\",\"is_primary\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateOpeningBalance", + "qualifiedName": "ZohoBooksApi.UpdateOpeningBalance", + "fullyQualifiedName": "ZohoBooksApi.UpdateOpeningBalance@1.0.0", + "description": "Update the existing opening balance information.\n\n This tool is used to update the existing opening balance information in Zoho Books. It should be called when there is a need to modify or correct the initial financial figures recorded in the system.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required for updating the opening balance information. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_opening_balance'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateOpeningBalance", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6789012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"opening_balance\":{\"account_id\":\"54321\",\"date\":\"2024-01-01\",\"amount\":1500.5,\"currency_code\":\"USD\",\"notes\":\"Correction to opening balance\",\"reference_number\":\"OB-2024-01\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateOrganizationDetails", + "qualifiedName": "ZohoBooksApi.UpdateOrganizationDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateOrganizationDetails@1.0.0", + "description": "Update an organization's details in Zoho Books.\n\n This tool updates the details of an organization in Zoho Books. It should be called when you need to modify existing information about a specific organization.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier of the organization to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique string identifier for the organization to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_organization'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateOrganizationDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "organization_identifier": { + "value": "org-acme-001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"company_name\":\"Acme Corporation\",\"company_email\":\"info@acme.example\",\"phone\":\"+1-555-123-4567\",\"website\":\"https://www.acme.example\",\"address\":{\"address\":\"123 Main St\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10001\",\"country\":\"USA\"},\"fiscal_year_start_month\":4,\"currency_id\":\"USD\",\"time_zone\":\"America/New_York\",\"allow_login\":false,\"enable_payment_gateway\":true}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePaymentByCustomField", + "qualifiedName": "ZohoBooksApi.UpdatePaymentByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdatePaymentByCustomField@1.0.0", + "description": "Update or upsert a customer payment using a unique custom field.\n\n Use this tool to update an existing customer payment or create a new one if it doesn't exist, by specifying a unique value from a custom field. The unique custom field value helps identify the payment to update. If upsert is enabled, a new payment will be created when the unique value is not found.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization whose payment is being updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "API name of the unique custom field used to identify the payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify or create a payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_payment_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new payment when no matching unique custom field value is found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_customer_payment_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePaymentByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "987654321", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_payment_ref", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "PAY-2026-0001", + "type": "string", + "required": false + }, + "create_new_payment_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"payment\":{\"customer_id\":\"1234567890\",\"date\":\"2026-02-15\",\"amount\":1500.00,\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"REF-7890\",\"description\":\"Payment for invoice INV-2026-0005\",\"exchange_rate\":1.0,\"custom_fields\":[{\"api_name\":\"cf_payment_ref\",\"value\":\"PAY-2026-0001\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePaymentRefund", + "qualifiedName": "ZohoBooksApi.UpdatePaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.UpdatePaymentRefund@1.0.0", + "description": "Update details of a customer payment refund.\n\n This tool updates the details of a refunded transaction for a customer payment in Zoho Books. It should be called when you need to modify existing refund details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. Required to access the organization's data. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "customer_payment_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the customer payment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "refund_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the refund transaction to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.customerpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_customer_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePaymentRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "customer_payment_identifier": { + "value": "1000000000001", + "type": "string", + "required": false + }, + "refund_identifier": { + "value": "2000000000001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund_date\":\"2026-02-15\",\"amount\":250.00,\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"REF-2026-045\",\"notes\":\"Adjusted refund to correct overcharge\",\"bank_account_id\":\"3056789012345\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateProjectDetails", + "qualifiedName": "ZohoBooksApi.UpdateProjectDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateProjectDetails@1.0.0", + "description": "Update details of a project in Zoho Books.\n\n This tool is called to update the details of a specific project within Zoho Books. It should be used when you need to modify project information such as its name, status, or any other attributes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization within Zoho Books, required to identify the organization whose project is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_unique_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the project to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_project'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateProjectDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "project_unique_identifier": { + "value": "PRJ-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"project\":{\"name\":\"Website Redesign\",\"status\":\"in_progress\",\"start_date\":\"2026-01-15\",\"end_date\":\"2026-03-15\",\"billing_type\":\"project_based\",\"billing_rate\":150.0,\"notes\":\"Scope updated to include SEO and accessibility improvements\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateProjectTask", + "qualifiedName": "ZohoBooksApi.UpdateProjectTask", + "fullyQualifiedName": "ZohoBooksApi.UpdateProjectTask@1.0.0", + "description": "Update the details of a project task.\n\n Use this tool to update the details of a specific task within a project in Zoho Books. It should be called when you need to change task information such as its status, due date, or other attributes.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books to identify the context for the task update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the project in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "task_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the task to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_task'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateProjectTask", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "project_identifier": { + "value": "proj_00123", + "type": "string", + "required": false + }, + "task_identifier": { + "value": "task_00456", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"task\": {\"name\": \"Design Homepage UI\",\"status\": \"in_progress\",\"due_date\": \"2026-03-15\",\"estimated_hours\": 16,\"billable\": true,\"assigned_to\": \"9876543210\",\"notes\": \"Prioritize mobile layout and accessibility improvements.\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateProjectUserDetails", + "qualifiedName": "ZohoBooksApi.UpdateProjectUserDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateProjectUserDetails@1.0.0", + "description": "Update user details in a specific project.\n\n Use this tool to update details of a user within a specified project in Zoho Books. It confirms the changes made to the user's information.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to update the user's project details. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "project_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the project in Zoho Books. Required to specify which project's user details are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the user to be updated within the project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_project_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateProjectUserDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "project_identifier": { + "value": "proj_98765", + "type": "string", + "required": false + }, + "user_identifier": { + "value": "usr_54321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"project_user\": {\"user_id\": \"usr_54321\", \"role\": \"Developer\", \"billable\": true, \"hourly_rate\": 75.00, \"allocation_percentage\": 100, \"start_date\": \"2026-01-01\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateProjectWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateProjectWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateProjectWithCustomField@1.0.0", + "description": "Update or create projects using a unique custom field.\n\n This tool updates an existing project or creates a new one if no match is found, using a unique custom field value in Zoho Books. Utilize it when you need to modify projects with specific identifiers.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "A string representing the organization's ID required to update or create a project using the custom field. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value for the custom field used to identify or create a project. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_project_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new project if no existing project matches the unique custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_projects_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateProjectWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_project_code", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "PRJ-2026-001", + "type": "string", + "required": false + }, + "create_new_project_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"project_name\":\"Website Redesign - PRJ-2026-001\",\"description\":\"Redesign of corporate website\",\"customer_id\":\"987654321\",\"start_date\":\"2026-03-01\",\"end_date\":\"2026-06-30\",\"billing_method\":\"fixed_cost\",\"budget\":50000,\"custom_fields\":[{\"api_name\":\"cf_project_code\",\"value\":\"PRJ-2026-001\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrder", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrder", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrder@1.0.0", + "description": "Update an existing purchase order in Zoho Books.\n\n Use this tool to update details of a specific purchase order in Zoho Books. It should be called when changes to a purchase order need to be made.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization for which the purchase order is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific purchase order to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "attachment_file_path", + "type": "string", + "required": false, + "description": "File path of the attachment with extensions: gif, png, jpeg, jpg, bmp, pdf, xls, xlsx, doc, docx. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "If true, ignore automatic purchase order number generation and manually specify the order number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "purchase_order_identifier": { + "value": "PO-2026-0001", + "type": "string", + "required": false + }, + "attachment_file_path": { + "value": "/tmp/updated_po.pdf", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"987654321\",\"date\":\"2026-02-15\",\"reference_number\":\"REF-2026-42\",\"line_items\":[{\"item_id\":\"111111\",\"name\":\"Steel Bolts\",\"rate\":0.5,\"quantity\":100,\"description\":\"High tensile steel bolts\"},{\"item_id\":\"222222\",\"name\":\"Packing Boxes\",\"rate\":1.25,\"quantity\":20,\"description\":\"Cardboard packing boxes\"}],\"notes\":\"Updated delivery required by 2026-03-01. Please confirm.\",\"ship_address\":{\"attention\":\"Warehouse Receiving\",\"address\":\"123 Warehouse Lane\",\"city\":\"Metropolis\",\"state\":\"NY\",\"zip\":\"10001\",\"country\":\"USA\"},\"exchange_rate\":1.0,\"adjustment\":0.0,\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Alpha\"}],\"purchaseorder_number\":\"PO-2026-9999\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrderBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderBillingAddress@1.0.0", + "description": "Update the billing address for a specific purchase order.\n\n Use this tool to modify the billing address of a single purchase order in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to update the billing address in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the specific purchase order to update the billing address. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrderBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "purchase_order_identifier": { + "value": "PO-001234", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"Accounts Payable\",\"company\":\"Acme Supplies\",\"address\":\"456 Supplier Lane\",\"city\":\"Springfield\",\"state\":\"IL\",\"zip\":\"62704\",\"country\":\"USA\",\"phone\":\"2175550123\",\"fax\":\"2175550456\",\"mobile\":\"2175550789\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrderByCustomField", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderByCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderByCustomField@1.0.0", + "description": "Update or create a purchase order via custom field value.\n\n Use this tool to update an existing purchase order or create a new one if needed, based on a unique custom field value. It should be called when you need to modify a purchase order by using a custom field's unique identifier.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. This is required to specify which organization's purchase order needs to be updated or created. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to update or identify the purchase order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "Unique value for the custom field to retrieve and update the purchase order. This should match the specific custom field value used to identify the order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_order_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new purchase order if no existing order matches the unique custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrderByCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "67890123456789", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_unique_order_id", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "UNIQUE-12345", + "type": "string", + "required": false + }, + "create_new_order_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"purchaseorder\":{\"vendor_id\":\"1122334455\",\"reference_number\":\"PO-2026-0001\",\"date\":\"2026-02-18\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Widget\",\"rate\":25.00,\"quantity\":4}],\"shipping_charge\":10.00,\"adjustment\":0.00,\"notes\":\"Updated via API by unique custom field\",\"custom_fields\":[{\"api_name\":\"cf_unique_order_id\",\"value\":\"UNIQUE-12345\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrderComment", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderComment", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderComment@1.0.0", + "description": "Update an existing comment on a purchase order.\n\n Use this tool to update a specific comment on a purchase order in Zoho Books. It should be called when you need to modify or correct information in a comment related to a purchase order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID representing the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": false, + "description": "The unique identifier for the purchase order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the comment to be updated in the purchase order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrderComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60012345678", + "type": "string", + "required": false + }, + "purchase_order_id": { + "value": "98765", + "type": "string", + "required": false + }, + "comment_identifier": { + "value": "568920", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":\"Updated comment: Please adjust quantity to 150 units and change delivery date to 2026-03-01.\",\"is_public\":false}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdatePurchaseOrderEmailAttachment", + "qualifiedName": "ZohoBooksApi.UpdatePurchaseOrderEmailAttachment", + "fullyQualifiedName": "ZohoBooksApi.UpdatePurchaseOrderEmailAttachment@1.0.0", + "description": "Update email attachment preference for a purchase order.\n\nThis tool updates the preference to include or exclude the attached file when emailing a specific purchase order. It should be called when you need to change whether the attachment is sent via email for a particular purchase order.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization for which the purchase order email attachment preference is being updated.", + "enum": null, + "inferrable": true + }, + { + "name": "purchase_order_id", + "type": "string", + "required": true, + "description": "Unique identifier of the purchase order to update the email attachment preference for.", + "enum": null, + "inferrable": true + }, + { + "name": "include_attachment_with_email", + "type": "boolean", + "required": true, + "description": "Boolean to determine if the attachment should be sent with the purchase order email. Set to true to include the attachment, or false to exclude it.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.purchaseorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_purchase_order_attachment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdatePurchaseOrderEmailAttachment", + "parameters": { + "organization_id": { + "value": "987654321", + "type": "string", + "required": true + }, + "purchase_order_id": { + "value": "PO-2026-1001", + "type": "string", + "required": true + }, + "include_attachment_with_email": { + "value": true, + "type": "boolean", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringBill", + "qualifiedName": "ZohoBooksApi.UpdateRecurringBill", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringBill@1.0.0", + "description": "Update details of a recurring bill in Zoho Books.\n\n Use this tool to update a recurring bill in Zoho Books. Modify its details including line items by removing them from the list if needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization in Zoho Books. This ID is required to specify the organization whose recurring bill is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_bill_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the recurring bill to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.bills.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_bill'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringBill", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "recurring_bill_identifier": { + "value": "RB-000123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"recurring_bill\": {\"customer_id\": \"987654321\", \"reference_number\": \"INV-1001\", \"start_date\": \"2026-03-01\", \"end_date\": \"2027-03-01\", \"repeat_every\": 1, \"repeat_unit\": \"month\", \"next_billing_date\": \"2026-04-01\", \"notes\": \"Updated recurring bill schedule\", \"line_items\": [{\"item_id\": \"111111\", \"description\": \"Monthly hosting\", \"rate\": 29.99, \"quantity\": 1, \"account_id\": \"222222\"}, {\"line_item_id\": \"333333\", \"description\": \"One-time setup\", \"rate\": 199.99, \"quantity\": 1, \"account_id\": \"222222\", \"delete\": true}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringBillCustomField", + "qualifiedName": "ZohoBooksApi.UpdateRecurringBillCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringBillCustomField@1.0.0", + "description": "Update or create a recurring bill using a unique custom field.\n\n This tool updates a recurring bill by identifying it through a custom field with a unique value. If the unique value does not match any existing recurring bills and the X-Upsert header is true, a new bill will be created if the necessary details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization associated with the recurring bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_unique_identifier_key", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the recurring bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "Unique value of the custom field used to identify the recurring bill. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_creation_if_missing", + "type": "boolean", + "required": false, + "description": "Set to true to create a new recurring bill if the unique custom field value is not found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_bill_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringBillCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6789012345", + "type": "string", + "required": false + }, + "custom_field_unique_identifier_key": { + "value": "cf_unique_invoice_code", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "RECUR-XYZ-2026", + "type": "string", + "required": false + }, + "allow_creation_if_missing": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"1234567890\",\"reference_number\":\"RB-1001\",\"billing_frequency\":\"monthly\",\"billing_cycle\":1,\"start_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"line_items\":[{\"item_id\":\"987654321\",\"description\":\"Maintenance service\",\"rate\":150.00,\"quantity\":1}],\"custom_fields\":[{\"api_name\":\"cf_unique_invoice_code\",\"value\":\"RECUR-XYZ-2026\"}],\"notes\":\"Monthly maintenance recurring bill\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringExpense", + "qualifiedName": "ZohoBooksApi.UpdateRecurringExpense", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringExpense@1.0.0", + "description": "Update or create a recurring expense using a custom field.\n\n Use this tool to update a recurring expense in Zoho Books by specifying a unique custom field value. If the expense doesn't exist and upsert is enabled, a new expense can be created. This is useful for maintaining accurate financial records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization whose recurring expense is to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "Unique CustomField API Name to identify the recurring expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "Unique value of the CustomField used to identify the recurring expense. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_recurring_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new recurring expense if the unique custom field value is not found. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.expenses.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_expense_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringExpense", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60012345678", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "custom_field_ExpenseRef", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "REC-2026-001", + "type": "string", + "required": false + }, + "create_new_recurring_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"recurring_expense\": {\"reference_number\": \"EXP-1001\",\"vendor_id\": \"9876543210\",\"date\": \"2026-03-01\",\"currency_code\": \"USD\",\"line_items\": [{\"item_id\": \"1111\",\"description\": \"Office supplies\",\"quantity\": 1,\"rate\": 150.00}],\"recurrence\": {\"repeat_every\": 1,\"repeat_unit\": \"months\",\"start_date\": \"2026-03-01\",\"next_date\": \"2026-04-01\"},\"notes\": \"Monthly office supplies recurring expense.\",\"custom_fields\": [{\"api_name\": \"custom_field_ExpenseRef\",\"value\": \"REC-2026-001\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringInvoice", + "qualifiedName": "ZohoBooksApi.UpdateRecurringInvoice", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringInvoice@1.0.0", + "description": "Update details of a recurring invoice in Zoho Books.\n\n Use this tool to modify an existing recurring invoice in Zoho Books by specifying the invoice ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required for updating a recurring invoice. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the recurring invoice to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringInvoice", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "600123456789012345", + "type": "string", + "required": false + }, + "recurring_invoice_id": { + "value": "RINV-1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"recurring_invoice\":{\"customer_id\":\"123456789012345\",\"reference_number\":\"RI-2026-001\",\"invoice_template_id\":\"987654321\",\"frequency\":\"monthly\",\"next_date\":\"2026-03-01\",\"end_date\":\"2027-03-01\",\"status\":\"active\",\"line_items\":[{\"item_id\":\"11111\",\"name\":\"Consulting Services\",\"description\":\"Monthly consulting retainer\",\"rate\":1500.00,\"quantity\":1,\"tax_id\":\"22222\"}],\"notes\":\"Recurring invoice for monthly retainer\",\"terms\":\"Payment due within 15 days\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringInvoiceCustomField", + "qualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceCustomField@1.0.0", + "description": "Update or create a recurring invoice using a custom field.\n\n This tool updates an existing recurring invoice or creates a new one using a custom field's unique value. Use when you need to update invoices based on unique custom identifiers. If the unique key isn't found and the upsert option is true, a new invoice is created.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. This ID is required to update or create a recurring invoice using the custom field. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The unique API name of the custom field used to identify which recurring invoice to update or create. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value for the custom field used to identify and update the recurring invoice. This should be a unique string associated with a custom field configured to reject duplicates. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "enable_upsert", + "type": "boolean", + "required": false, + "description": "Set to true to create a new invoice if no existing invoice matches the unique identifier. Set to false to update only without creating a new invoice. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_invoice_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringInvoiceCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "9876543210", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "cf_unique_id", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "CUST-UNIQUE-2026-001", + "type": "string", + "required": false + }, + "enable_upsert": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"1234567890123456789\",\"reference_number\":\"REC-2026-001\",\"date\":\"2026-03-01\",\"due_date\":\"2026-03-15\",\"recurrence\":{\"frequency\":\"monthly\",\"interval\":1,\"start_date\":\"2026-03-01\",\"next_trigger_date\":\"2026-04-01\",\"end_date\":\"2027-03-01\"},\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Monthly Hosting\",\"description\":\"Web hosting service\",\"rate\":49.99,\"quantity\":1,\"tax_id\":\"111111111\"}],\"notes\":\"Recurring invoice created/updated via API.\",\"custom_fields\":[{\"api_name\":\"cf_unique_id\",\"value\":\"CUST-UNIQUE-2026-001\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRecurringInvoiceTemplate", + "qualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateRecurringInvoiceTemplate@1.0.0", + "description": "Update the PDF template for a recurring invoice.\n\n This tool updates the PDF template associated with a specific recurring invoice in Zoho Books. It is used when you need to change the template for invoices that are generated on a recurring basis.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the organization. This ID is used to specify which organization's recurring invoice template will be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "recurring_invoice_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the recurring invoice to update the PDF template for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_template_id", + "type": "string", + "required": false, + "description": "Unique identifier of the recurring invoice template to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_recurring_invoice_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRecurringInvoiceTemplate", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "recurring_invoice_identifier": { + "value": "rec_987654321", + "type": "string", + "required": false + }, + "invoice_template_id": { + "value": "tmpl_456789123", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"invoice_template\":{\"template_id\":\"tmpl_456789123\",\"is_default\":true,\"paper_size\":\"A4\",\"layout\":\"standard\",\"margins\":{\"top\":20,\"bottom\":20,\"left\":15,\"right\":15}}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRefundTransaction", + "qualifiedName": "ZohoBooksApi.UpdateRefundTransaction", + "fullyQualifiedName": "ZohoBooksApi.UpdateRefundTransaction@1.0.0", + "description": "Update the refunded transaction details.\n\n Use this tool to update the details of a refunded transaction associated with a specific credit note. This is helpful when corrections or updates are needed for bookkeeping or record maintenance.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization. Required to identify which organization's records are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the credit note to update the refund transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "credit_note_refund_id", + "type": "string", + "required": false, + "description": "Provide the unique identifier of the credit note refund to update its transaction details. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.creditnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_credit_note_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRefundTransaction", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "credit_note_identifier": { + "value": "CN-2024-0001", + "type": "string", + "required": false + }, + "credit_note_refund_id": { + "value": "RFD-2024-0099", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund\": {\"transaction_id\": \"TRX-54321\", \"amount\": 150.75, \"date\": \"2024-02-10\", \"payment_mode\": \"bank_transfer\", \"account_id\": \"ACC-67890\", \"reference_number\": \"REF-20240210\", \"notes\": \"Corrected refund amount and account\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateRetainerInvoiceComment", + "qualifiedName": "ZohoBooksApi.UpdateRetainerInvoiceComment", + "fullyQualifiedName": "ZohoBooksApi.UpdateRetainerInvoiceComment@1.0.0", + "description": "Update a comment on a retainer invoice.\n\n Use this tool to update an existing comment of a retainer invoice by specifying the invoice and comment IDs.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization to which the retainer invoice belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": false, + "description": "Unique identifier of the retainer invoice to update the comment for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the comment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_retainer_invoice_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateRetainerInvoiceComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "retainer_invoice_id": { + "value": "7890123456789", + "type": "string", + "required": false + }, + "comment_identifier": { + "value": "cmt_2002", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"content\":\"Updated comment: please review the retainer terms and confirm.\",\"is_private\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderBillingAddress", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderBillingAddress", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderBillingAddress@1.0.0", + "description": "Updates the billing address for a specific sales order.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization associated with the sales order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to update the billing address for. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_billing_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderBillingAddress", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "sales_order_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"billing_address\":{\"attention\":\"John Doe\",\"address\":\"123 Market St\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94103\",\"country\":\"United States\",\"phone\":\"+1-415-555-0123\",\"fax\":\"\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderComment", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderComment", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderComment@1.0.0", + "description": "Update an existing comment on a sales order.\n\n\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "comment_id", + "type": "string", + "required": false, + "description": "Unique identifier of the comment associated with the sales order that needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_comment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderComment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "SO-2026-0001", + "type": "string", + "required": false + }, + "comment_id": { + "value": "CMT-98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"comment\":{\"content\":\"Please update the expected ship date to 2026-03-01.\",\"is_private\":false}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderCustomFields", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderCustomFields", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderCustomFields@1.0.0", + "description": "Update custom fields in existing sales orders efficiently.\n\n Call this tool to update the value of custom fields in existing sales orders when you need to modify order details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization associated with the sales order. This is required to identify which organization's sales order needs updating. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier for the sales order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_salesorder_customfields'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderCustomFields", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "SO-98765", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"custom_fields\":[{\"label\":\"Delivery Instructions\",\"value\":\"Leave at back door\"},{\"label\":\"Gift Message\",\"value\":\"Happy Birthday!\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderInZohoBooks", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderInZohoBooks", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderInZohoBooks@1.0.0", + "description": "Update details of an existing sales order in Zoho Books.\n\n Use this tool to update the details of an existing sales order in Zoho Books. It also allows for the deletion of line items by omitting them from the update request.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to which the sales order belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to update in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "total_number_of_files", + "type": "integer", + "required": false, + "description": "Specify the total number of files to be attached to the sales order update. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "attach_document", + "type": "string", + "required": false, + "description": "A document to be attached to the sales order. Provide the file path or URL as a string. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "ignore_auto_number_generation", + "type": "boolean", + "required": false, + "description": "Set to TRUE to ignore auto-generation of the sales order number. This requires manually entering the number. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_email_sending", + "type": "boolean", + "required": false, + "description": "Determine if the updated sales order can be sent via email. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderInZohoBooks", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "sales_order_id": { + "value": "SO12345", + "type": "string", + "required": false + }, + "total_number_of_files": { + "value": 1, + "type": "integer", + "required": false + }, + "attach_document": { + "value": "https://example.com/docs/salesorder_SO12345_attachment.pdf", + "type": "string", + "required": false + }, + "ignore_auto_number_generation": { + "value": true, + "type": "boolean", + "required": false + }, + "allow_email_sending": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"salesorder_number\":\"SO-1005\",\"date\":\"2026-02-15\",\"reference_number\":\"REF-2026-02\",\"customer_id\":\"CUST-001\",\"status\":\"open\",\"line_items\":[{\"item_id\":\"ITEM-100\",\"name\":\"Widget A\",\"rate\":25.0,\"quantity\":2,\"discount\":0,\"description\":\"Updated description for Widget A\"},{\"item_id\":\"ITEM-200\",\"name\":\"Service B\",\"rate\":150.0,\"quantity\":1,\"description\":\"One-time service\"}],\"shipping_charge\":10.0,\"adjustment\":-5.0,\"notes\":\"Updated sales order notes.\",\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Project X\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderSubStatus", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderSubStatus", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderSubStatus@1.0.0", + "description": "Update the sub status of a sales order in Zoho Books.\n\nThis tool updates the sub status of a specified sales order in Zoho Books, identified by the sales order ID and the new status code. It should be called when you need to change the status of an existing sales order.", + "parameters": [ + { + "name": "organization_identifier", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. This ID is required to specify which organization's sales order needs an update.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the specific sales order to update.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_status_code", + "type": "string", + "required": true, + "description": "The unique code representing the new status for a sales order. This is required to update the status in Zoho Books.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_sub_status'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderSubStatus", + "parameters": { + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "450000000012345", + "type": "string", + "required": true + }, + "sales_order_status_code": { + "value": "shipped", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderTemplate", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderTemplate", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderTemplate@1.0.0", + "description": "Update the PDF template for a sales order.\n\nThis tool updates the PDF template associated with a specific sales order. Use it when you need to change the template for an existing sales order.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique identifier for the organization associated with the sales order.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_id", + "type": "string", + "required": true, + "description": "Unique identifier for the sales order to be updated with a new PDF template.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_template_id", + "type": "string", + "required": true, + "description": "Unique identifier of the sales order template to update.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_template'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderTemplate", + "parameters": { + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": true + }, + "sales_order_id": { + "value": "SO-00012345", + "type": "string", + "required": true + }, + "sales_order_template_id": { + "value": "SOT-987654321", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesOrderWithCustomField", + "qualifiedName": "ZohoBooksApi.UpdateSalesOrderWithCustomField", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesOrderWithCustomField@1.0.0", + "description": "Update or create a sales order using a custom field.\n\n Use a custom field's unique value to update an existing sales order or create a new one if the order does not exist and the required details are provided. This tool is useful when managing sales orders using specific identifiers in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the sales order to update or create. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "unique_custom_field_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to retrieve and update a specific sales order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "allow_creation_if_not_found", + "type": "boolean", + "required": false, + "description": "Set to true to create a new sales order if the unique custom field value is not found. Complete details are required for creation. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesOrderWithCustomField", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "6789054321", + "type": "string", + "required": false + }, + "unique_custom_field_api_name": { + "value": "external_id", + "type": "string", + "required": false + }, + "unique_custom_field_value": { + "value": "EXT-2026-001", + "type": "string", + "required": false + }, + "allow_creation_if_not_found": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"customer_id\":\"123456789\",\"date\":\"2026-02-17\",\"reference_number\":\"SO-1005\",\"line_items\":[{\"item_id\":\"987654321\",\"name\":\"Widget A\",\"rate\":49.99,\"quantity\":2},{\"item_id\":\"987654322\",\"name\":\"Widget B\",\"rate\":29.5,\"quantity\":1}],\"shipping_charge\":10.0,\"notes\":\"Updated via API\",\"custom_fields\":[{\"label\":\"external_id\",\"value\":\"EXT-2026-001\"}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateSalesReceipt", + "qualifiedName": "ZohoBooksApi.UpdateSalesReceipt", + "fullyQualifiedName": "ZohoBooksApi.UpdateSalesReceipt@1.0.0", + "description": "Update an existing sales receipt in Zoho Books.\n\n This tool is used to update details of an existing sales receipt in Zoho Books. It should be called when modifications to sales receipt data are required, such as changing amounts, dates, or other relevant information.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. It is required to specify which organization's sales receipt needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_receipt_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the sales receipt to be updated. This is required to specify which receipt to modify. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_receipt'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateSalesReceipt", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "sales_receipt_identifier": { + "value": "SR-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"sales_receipt\":{\"sales_receipt_number\":\"SR-1001\",\"date\":\"2026-02-15\",\"customer_id\":\"CUST-789\",\"reference_number\":\"REF-2026-02\",\"currency_id\":\"USD\",\"exchange_rate\":1.0,\"line_items\":[{\"item_id\":\"ITEM-001\",\"description\":\"Consulting services (February)\",\"rate\":150.00,\"quantity\":10,\"tax_id\":\"TAX-01\"},{\"description\":\"Travel reimbursement\",\"rate\":200.00,\"quantity\":1,\"tax_id\":null}],\"discount\":{\"discount_type\":\"entity_level\",\"discount\":50.0},\"shipping_charge\":25.0,\"adjustment\":0.0,\"notes\":\"Updated receipt to include additional travel reimbursement.\",\"custom_fields\":[{\"label\":\"Project\",\"value\":\"Alpha\"}]}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateShippingAddressSalesOrder", + "qualifiedName": "ZohoBooksApi.UpdateShippingAddressSalesOrder", + "fullyQualifiedName": "ZohoBooksApi.UpdateShippingAddressSalesOrder@1.0.0", + "description": "Update the shipping address for a specific sales order.\n\n This tool updates the shipping address for a specific sales order in Zoho Books. It should be called when there's a need to modify the delivery location of an existing order.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books to update the shipping address for the sales order. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "sales_order_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the sales order to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.salesorders.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_sales_order_shipping_address'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateShippingAddressSalesOrder", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "6789012345", + "type": "string", + "required": false + }, + "sales_order_identifier": { + "value": "SO-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"shipping_address\":{\"attention_to\":\"Jane Doe\",\"address\":\"456 Market St\",\"street2\":\"Apt 12B\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94104\",\"country\":\"United States\",\"phone\":\"+1-415-555-0199\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTaxAuthorityDetails", + "qualifiedName": "ZohoBooksApi.UpdateTaxAuthorityDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateTaxAuthorityDetails@1.0.0", + "description": "Update details of a tax authority.\n\n Use this tool to update information for a specific tax authority. Ideal for modifications to existing records.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization for which the tax authority details need to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_authority_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the tax authority to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_tax_authority'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTaxAuthorityDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "tax_authority_identifier": { + "value": "TA-202", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_authority\":{\"name\":\"State Sales Tax\",\"display_name\":\"State Sales Tax - CA\",\"description\":\"Updated rate for CA sales tax authority\",\"tax_rate\":7.25,\"is_active\":true,\"tax_authority_type\":\"state\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTaxDetails", + "qualifiedName": "ZohoBooksApi.UpdateTaxDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateTaxDetails@1.0.0", + "description": "Update the details of a specified tax.\n\n Use this tool to update the details of a simple or compound tax by providing the tax ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier for the organization that owns the tax to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the tax to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_tax'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTaxDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "60000001234", + "type": "string", + "required": false + }, + "tax_identifier": { + "value": "1000000000001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax\":{\"tax_name\":\"State Sales Tax\",\"tax_rate\":7.25,\"is_compound\":false,\"description\":\"Updated tax rate for FY2026\",\"is_active\":true}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTaxExemptionDetails", + "qualifiedName": "ZohoBooksApi.UpdateTaxExemptionDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateTaxExemptionDetails@1.0.0", + "description": "Update the details of a tax exemption.\n\n This tool updates the information of a specific tax exemption. It should be called when changes to tax exemption records are needed, such as modifying existing details.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier of the organization for which the tax exemption needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_exemption_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the tax exemption to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_tax_exemption'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTaxExemptionDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "60001234567", + "type": "string", + "required": false + }, + "tax_exemption_identifier": { + "value": "TE-2026-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_exemption\":{\"name\":\"Charitable Organization Exemption\",\"tax_exemption_number\":\"EXM-2026-001\",\"reason\":\"Non-profit charitable activities\",\"active\":true,\"notes\":\"Updated contact and exemption number\",\"valid_from\":\"2026-01-01\",\"valid_until\":\"2028-12-31\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTaxGroupDetails", + "qualifiedName": "ZohoBooksApi.UpdateTaxGroupDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateTaxGroupDetails@1.0.0", + "description": "Update details of a specific tax group in Zoho Books.\n\n This tool updates the details of a tax group in Zoho Books using the provided tax group ID. It should be called when changes are needed to the tax group's configuration.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique ID of the organization in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "tax_group_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the tax group to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_tax_group'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTaxGroupDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "667891234", + "type": "string", + "required": false + }, + "tax_group_identifier": { + "value": "TG-2024-001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"tax_group\":{\"tax_group_name\":\"VAT Group A\",\"tax_group_taxes\":[{\"tax_name\":\"VAT\",\"tax_percentage\":12.5,\"tax_id\":\"123456789\"},{\"tax_name\":\"Service Tax\",\"tax_percentage\":5.0,\"tax_id\":\"987654321\"}],\"is_active\":true,\"description\":\"Updated tax group for EU sales\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateTimeEntry", + "qualifiedName": "ZohoBooksApi.UpdateTimeEntry", + "fullyQualifiedName": "ZohoBooksApi.UpdateTimeEntry@1.0.0", + "description": "Updates an existing logged time entry.\n\n Use this tool to modify details of a previously logged time entry in Zoho Books. Ideal when adjustments or updates need to be made to existing time logs.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "ID of the organization to which the time entry belongs. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "time_entry_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the existing time entry to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.projects.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_time_entry'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateTimeEntry", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "time_entry_identifier": { + "value": "te_987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"time_entry\":{\"date\":\"2025-01-15\",\"hours\":2.75,\"notes\":\"Revised time after client meeting\",\"is_billable\":true,\"project_id\":\"123456789012345\",\"task_id\":\"987654321098765\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateUserDetails", + "qualifiedName": "ZohoBooksApi.UpdateUserDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateUserDetails@1.0.0", + "description": "Update user details in Zoho Books.\n\n Use this tool to update the information of an existing user in Zoho Books. Call it when changes to a user's profile are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique ID of the organization whose user's details are being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "user_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the user to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_user'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateUserDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "345678901234", + "type": "string", + "required": false + }, + "user_identifier": { + "value": "987654321", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"user\":{\"first_name\":\"Jane\",\"last_name\":\"Doe\",\"email\":\"jane.doe@example.com\",\"mobile\":\"+14155551234\",\"role_id\":\"54321\",\"is_active\":true,\"time_zone\":\"America/Los_Angeles\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorCredit", + "qualifiedName": "ZohoBooksApi.UpdateVendorCredit", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorCredit@1.0.0", + "description": "Update an existing vendor credit in Zoho Books.\n\n Use this tool to update the details of a specific vendor credit in Zoho Books. Call this when modifications to vendor credits are needed.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the organization in Zoho Books. Required to update vendor credit. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_id", + "type": "string", + "required": false, + "description": "The unique identifier for the vendor credit to be updated. This string is required to locate the specific credit. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_credit'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorCredit", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_identifier": { + "value": "1234567890", + "type": "string", + "required": false + }, + "vendor_credit_id": { + "value": "VC123456", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"VEND12345\",\"reference_number\":\"VC-2026-001\",\"date\":\"2026-02-15\",\"notes\":\"Updated credit for returned items\",\"line_items\":[{\"description\":\"Returned widgets\",\"item_id\":\"ITEM987\",\"quantity\":5,\"rate\":20.0,\"account_id\":\"4001\"}],\"adjustment\":0.0}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorCreditRefund", + "qualifiedName": "ZohoBooksApi.UpdateVendorCreditRefund", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorCreditRefund@1.0.0", + "description": "Update a refunded vendor credit transaction.\n\n Use this tool to update details of a refunded vendor credit transaction by specifying the vendor credit ID and refund ID.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Unique identifier for the organization. This is needed to specify which organization the vendor credit refund update applies to. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the vendor credit to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_credit_refund_identifier", + "type": "string", + "required": false, + "description": "Unique identifier for the vendor credit refund transaction that needs to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.debitnotes.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_credit_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorCreditRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "vendor_credit_identifier": { + "value": "VC-2025-0001", + "type": "string", + "required": false + }, + "vendor_credit_refund_identifier": { + "value": "VCR-2025-1001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund_account_id\":\"987654321\",\"refund_amount\":150.00,\"refund_date\":\"2025-01-15\",\"reference_number\":\"RC-2025-001\",\"description\":\"Refund for overpayment on vendor credit\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorPayment", + "qualifiedName": "ZohoBooksApi.UpdateVendorPayment", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorPayment@1.0.0", + "description": "Update or modify an existing vendor payment.\n\n Use this tool to update an existing vendor payment, including modifying the amount applied to bills.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "Provide the specific ID of the organization for which the vendor payment is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": false, + "description": "The unique identifier of the vendor payment to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_payment'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorPayment", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789012345", + "type": "string", + "required": false + }, + "payment_identifier": { + "value": "VP-00012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"vendorpayment\":{\"date\":\"2025-02-10\",\"reference_number\":\"VP-2025-045\",\"payment_mode\":\"Bank Transfer\",\"amount\":1500.00,\"applied_to_bills\":[{\"bill_id\":\"987654321\",\"amount_applied\":1000.00},{\"bill_id\":\"987654322\",\"amount_applied\":500.00}],\"notes\":\"Adjusted allocation across bills\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorPaymentRefund", + "qualifiedName": "ZohoBooksApi.UpdateVendorPaymentRefund", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorPaymentRefund@1.0.0", + "description": "Update the refunded transaction for a vendor payment.\n\n Call this tool to update details related to a vendor payment refund. It is used when modifications to an existing refund transaction are necessary.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization associated with the refund transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "payment_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the payment. Required to specify which payment is being updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "vendor_payment_refund_id", + "type": "string", + "required": false, + "description": "Unique identifier of the vendor payment refund required for updating the transaction. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_payment_refund'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorPaymentRefund", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "payment_identifier": { + "value": "pay_987654321", + "type": "string", + "required": false + }, + "vendor_payment_refund_id": { + "value": "refund_12345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"refund_account_id\":\"acct_001\",\"refund_date\":\"2026-02-15\",\"amount\":1500.00,\"currency_id\":\"USD\",\"reference_number\":\"REF-2026-02-15-01\",\"notes\":\"Adjustment for overpayment\",\"line_items\":[{\"description\":\"Refund for invoice INV-1001\",\"amount\":1500.00}]}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateVendorPaymentWithCustomId", + "qualifiedName": "ZohoBooksApi.UpdateVendorPaymentWithCustomId", + "fullyQualifiedName": "ZohoBooksApi.UpdateVendorPaymentWithCustomId@1.0.0", + "description": "Update or create a vendor payment using a unique custom field.\n\n This tool updates an existing vendor payment by using a unique custom field as an identifier. If the unique value is not found and the X-Upsert option is enabled, it will create a new vendor payment if sufficient details are provided.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization within Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_api_name", + "type": "string", + "required": false, + "description": "The API name of the unique custom field used to identify the vendor payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "custom_field_unique_value", + "type": "string", + "required": false, + "description": "The unique value of the custom field used to identify or create a vendor payment. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "create_new_record_if_not_exists", + "type": "boolean", + "required": false, + "description": "Set to true to create a new vendor payment if no existing record matches the unique custom field value. Only used when mode is 'execute'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.vendorpayments.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_vendor_payment_using_custom_field'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateVendorPaymentWithCustomId", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1234567890", + "type": "string", + "required": false + }, + "custom_field_api_name": { + "value": "vendor_payment_custom_id", + "type": "string", + "required": false + }, + "custom_field_unique_value": { + "value": "VP-EXT-20260215-001", + "type": "string", + "required": false + }, + "create_new_record_if_not_exists": { + "value": true, + "type": "boolean", + "required": false + }, + "request_body": { + "value": "{\"vendor_id\":\"123456789012345\",\"payment_mode\":\"Bank Transfer\",\"reference_number\":\"VP-2026-001\",\"amount\":1500.00,\"date\":\"2026-02-15\",\"account_id\":\"987654321\",\"notes\":\"Payment for invoice INV-1001\",\"apply_to_invoices\":[{\"invoice_id\":\"111111111\",\"amount_applied\":1500.00}] }", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "UpdateZohoItemDetails", + "qualifiedName": "ZohoBooksApi.UpdateZohoItemDetails", + "fullyQualifiedName": "ZohoBooksApi.UpdateZohoItemDetails@1.0.0", + "description": "Update the details of an item in Zoho Books.\n\n Use this tool to update item details in Zoho Books by providing the item ID and the new information to be updated.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The ID of the organization in Zoho Books for which the item details are to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "item_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the item to be updated in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.settings.UPDATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'update_item'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.UpdateZohoItemDetails", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "1149250000000001234", + "type": "string", + "required": false + }, + "item_identifier": { + "value": "1149250000000012345", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"item\":{\"name\":\"Premium Blue Widget\",\"rate\":49.99,\"sku\":\"PBW-001\",\"description\":\"High-quality blue widget updated for premium line\",\"purchase_rate\":30.00,\"is_taxable\":true,\"account_id\":\"1149250000000123456\",\"tax_id\":\"1149250000000654321\"}}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "VoidInvoiceStatus", + "qualifiedName": "ZohoBooksApi.VoidInvoiceStatus", + "fullyQualifiedName": "ZohoBooksApi.VoidInvoiceStatus@1.0.0", + "description": "Mark an invoice as void in Zoho Books.\n\nUse this tool to change the status of an invoice to void in Zoho Books. This process will unassociate any payments and credits, placing them under customer credits.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books. Required to specify which organization the invoice belongs to.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_unique_identifier", + "type": "string", + "required": true, + "description": "Unique identifier for the invoice to be marked as void.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_invoice_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.VoidInvoiceStatus", + "parameters": { + "organization_id": { + "value": "123456789", + "type": "string", + "required": true + }, + "invoice_unique_identifier": { + "value": "INV-2026-0001", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "VoidRetainerInvoice", + "qualifiedName": "ZohoBooksApi.VoidRetainerInvoice", + "fullyQualifiedName": "ZohoBooksApi.VoidRetainerInvoice@1.0.0", + "description": "Mark a retainer invoice as void.\n\nThis tool marks a specified retainer invoice as void, disassociating any payments and credits and moving them under customer credits.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "ID of the organization required to identify which organization's invoice to void.", + "enum": null, + "inferrable": true + }, + { + "name": "retainer_invoice_id", + "type": "string", + "required": true, + "description": "Unique identifier for the retainer invoice to be marked as void.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'mark_retainer_invoice_void'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.VoidRetainerInvoice", + "parameters": { + "organization_id": { + "value": "60012345678", + "type": "string", + "required": true + }, + "retainer_invoice_id": { + "value": "RINV-2025-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "WriteOffFixedAsset", + "qualifiedName": "ZohoBooksApi.WriteOffFixedAsset", + "fullyQualifiedName": "ZohoBooksApi.WriteOffFixedAsset@1.0.0", + "description": "Remove a fixed asset from the records.\n\n Use this tool to write off a fixed asset. It should be called when an asset needs to be removed from the records in Zoho Books.\n\n Note: Understanding the request schema is necessary to properly create\n the stringified JSON input object for execution.\n\nThis operation also requires path, query parameters.\n\n Modes:\n - GET_REQUEST_SCHEMA: Returns the schema. Only call if you don't\n already have it. Do NOT call repeatedly if you already received\n the schema.\n - EXECUTE: Performs the operation with the provided request body\n JSON.\n Note: You must also provide the required path, query parameters when executing.\n\n If you need the schema, call with mode='get_request_schema' ONCE, then execute.\n ", + "parameters": [ + { + "name": "mode", + "type": "string", + "required": true, + "description": "Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation", + "enum": [ + "get_request_schema", + "execute" + ], + "inferrable": true + }, + { + "name": "organization_id", + "type": "string", + "required": false, + "description": "The unique identifier for the organization. Required to specify which organization's asset is to be written off. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "fixed_asset_identifier", + "type": "string", + "required": false, + "description": "Unique identifier of the fixed asset to be written off in Zoho Books. Required when mode is 'execute', ignored when mode is 'get_request_schema'.", + "enum": null, + "inferrable": true + }, + { + "name": "request_body", + "type": "string", + "required": false, + "description": "Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema'", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.fixedasset.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'write_off_fixed_asset'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.WriteOffFixedAsset", + "parameters": { + "mode": { + "value": "execute", + "type": "string", + "required": true + }, + "organization_id": { + "value": "123456789", + "type": "string", + "required": false + }, + "fixed_asset_identifier": { + "value": "FA-2025-0001", + "type": "string", + "required": false + }, + "request_body": { + "value": "{\"write_off_date\":\"2025-01-31\",\"reason\":\"Obsolete - scrapped\",\"write_off_value\":1500.00,\"notes\":\"Disposed due to irreparable damage\",\"disposed_to\":\"Local scrapyard\"}", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } + }, + { + "name": "WriteOffInvoiceBalance", + "qualifiedName": "ZohoBooksApi.WriteOffInvoiceBalance", + "fullyQualifiedName": "ZohoBooksApi.WriteOffInvoiceBalance@1.0.0", + "description": "Write off the balance amount of an invoice in Zoho Books.\n\nUse this tool to write off the remaining balance of an invoice in Zoho Books when the amount is uncollectible.", + "parameters": [ + { + "name": "organization_id", + "type": "string", + "required": true, + "description": "The unique ID of the organization in Zoho Books.", + "enum": null, + "inferrable": true + }, + { + "name": "invoice_identifier", + "type": "string", + "required": true, + "description": "The unique identifier for the invoice to be written off.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "zoho", + "providerType": "oauth2", + "scopes": [ + "ZohoBooks.invoices.CREATE" + ] + }, + "secrets": [ + "ZOHO_SERVER_URL" + ], + "secretsInfo": [ + { + "name": "ZOHO_SERVER_URL", + "type": "unknown" + } + ], + "output": { + "type": "json", + "description": "Response from the API endpoint 'write_off_invoice'." + }, + "documentationChunks": [], + "codeExample": { + "toolName": "ZohoBooksApi.WriteOffInvoiceBalance", + "parameters": { + "organization_id": { + "value": "60001234567", + "type": "string", + "required": true + }, + "invoice_identifier": { + "value": "INV-2026-000123", + "type": "string", + "required": true + } + }, + "requiresAuth": true, + "authProvider": "zoho", + "tabLabel": "Call the Tool with User Authorization" + } } ], - "customImports": [ - "import StarterToolInfo from \"@/app/_components/starter-tool-info\";" - ], + "documentationChunks": [], + "customImports": [], "subPages": [], - "generatedAt": "2026-01-26T17:48:05.819Z" -} + "generatedAt": "2026-02-18T21:15:37.520Z", + "summary": "Zoho Books API toolkit enables LLMs to automate and interact with Zoho Books—streamlining accounting workflows including invoices, bills, payments, contacts, projects, assets, banking, templates, and recurring transactions.\n\n**Capabilities**\n\n- Programmatic CRUD and bulk operations for core financial resources with filtering, pagination and upsert patterns.\n- Reconciliation and bank workflows: import statements, categorize, match/unmatch and apply credits/refunds.\n- Document & communication ops: attach/retrieve files, export PDFs, email documents and manage templates.\n- Lifecycle & automation: status transitions, approvals, recurring billing, time tracking and project assignments.\n\n**OAuth**\n\n- Provider: zoho\n- Scopes: broad ZohoBooks.* coverage (CREATE/READ/UPDATE/DELETE across accountants, banking, bills, contacts, creditnotes, customerpayments, custommodules, invoices, projects, purchaseorders, salesorders, settings, vendorpayments and related modules).\n\n**Secrets**\n\n- ZOHO_SERVER_URL (type: unknown): base URL override, e.g. https://books.zoho.com/api/v3. OAuth access and refresh tokens are also required and must be stored securely by the integrator." +} \ No newline at end of file