# Creating the getTransactions Tool Let's create a tool that fetches transaction data from a Google Sheet. We'll create a new file called `tools/get-transactions-tool.ts`. First, create the new tool file at src/mastra/tools/get-transactions-tool.ts Now add the necessary imports: ```typescript import { createTool } from "@mastra/core/tools"; import { z } from "zod"; ``` Now, let's create our tool: ```typescript export const getTransactionsTool = createTool({ id: "get-transactions", description: "Get transaction data from Google Sheets", inputSchema: z.object({}), // No input parameters needed outputSchema: z.object({ csvData: z.string(), }), execute: async () => { return await getTransactions(); }, }); const getTransactions = async () => { // This URL points to a public Google Sheet with transaction data const url = "https://docs.google.com/spreadsheets/d/e/2PACX-1vTQWaCzJAFsF4owWRHQRLo4G0-ERv31c74OOZFnqLiTLaP7NweoiX7IXvzQud2H6bdUPnIqZEA485Ux/pub?gid=0&single=true&output=csv"; const response = await fetch(url); const data = await response.text(); return { csvData: data, }; }; ``` This tool fetches transaction data from a public Google Sheet and returns it as a string. The `createTool` function from Mastra makes it easy to define the tool's ID, description, input and output schemas, and execution logic.