PayPal Zettle MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with PayPal Zettle MCP or direct API to manage products, check inventory, review purchases, and access finance data through natural language.

PayPal Zettle logoPayPal Zettle
Oauth2S2s Oauth2

PayPal Zettle is a point-of-sale platform with APIs for products, inventory, purchases, and finance. It helps merchants manage store operations and sales data in one place.

55 Tools

Try PayPal Zettle now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
PayPal Zettle
Try asking
TOOLS

Supported Tools

Every PayPal Zettle action and event your agent gets out of the box.

Count Products

Retrieve the count of existing products for a merchant organization.

Count Products By Tax Rate

Get each tax rate and its associated product count.

Create Categories

Create one or more product categories in one request and return creation metadata.

Create Discount

Create a fixed-amount or percentage discount in a product library.

Create Inventory

Create one Zettle STORE inventory from its name and optional description.

Create Product

Create a product and up to 99 complete embedded variants.

Create Tax Rates

Create up to 15 tax rates in one request.

Create Webhook Subscription

Create a Zettle webhook subscription for selected events at a public HTTPS destination and return the signing key needed to verify incoming messages.

Delete Category

Permanently delete a category.

Delete Discount

Permanently delete one discount.

Delete Products

Permanently delete one or more products and their embedded variants.

Delete Tax Rate

Permanently delete one tax rate.

Delete Webhook Subscription

Permanently delete a Zettle webhook subscription.

Fetch Product Image

Fetch a product image by lookup key, optionally resizing, cropping, or converting it, and return a downloadable file.

Generate Product Slug

Create a unique online product slug from a product name.

Get Discount

Retrieve one discount from a merchant's product library.

Get Finance Balance

Get the balance of the merchant's preliminary or liquid Zettle account, optionally at a specified point in time.

Get Import Status

Return the latest product-library import status, or a specific import when import_uuid is provided.

Get Inventory

Fetch one inventory belonging to the connected Zettle organization.

Get Payout Info

Get the connected merchant's liquid-account payout balance, next payout amount, voucher discount balance, and payout schedule at a point in time.

Get Product

Retrieve one product and its complete embedded variants.

Get Product Library

Return one page of the complete product library or changes after an event-log UUID, including full products, embedded variants, and discounts.

Get Product Stock

Return one page of variant stock balances from the documented product- and inventory-specific Zettle endpoint, including low-stock settings and a continuation cursor.

Get Purchase

Fetch one immutable Zettle purchase or refund by its UUID version 1, including complete item, payment, discount, tax, and refund details.

Get Selected Products Stock

Return one page of product-variant stock balances for selected products in one Zettle inventory.

Get Tax Rate

Get one tax rate.

Get Tax Settings

Get organization tax settings and the organization UUID needed by other Zettle actions.

Get Tracking Status

Return inventory-tracking status for selected Zettle products.

Import Library Items

Start an asynchronous product import.

Import Product Images

Import one or more product images from HTTPS URLs and return their lookup keys.

List Categories

Retrieve all product categories for a merchant organization.

List Discounts

Retrieve all discounts from a merchant's product library.

List Finance Transactions

Return one page of transactions from a Zettle preliminary or liquid account within a required date range, optionally filtered by transaction type.

List Inventories

List the merchant organization's inventories and the UUIDs needed for stock-management actions.

List Inventory Stock

Return one page of product-variant stock balances from the documented inventory-specific Zettle endpoint, including low-stock settings and a continuation cursor.

List Library Images

Retrieve all image references used by library items.

List Product Options

Retrieve aggregate active variant options in the product library.

List Products

List all POS-visible products with complete embedded variants in the selected current or legacy representation.

List Purchases

Return one page of purchases and refunds from up to three years ago, with date and ordering filters plus an opaque continuation cursor.

List Stock

Return one page of variant stock balances across Zettle store inventories, optionally filtered by inventory or product.

List Stock Updates

Return one page of stock-balance updates made at or after a timestamp, optionally filtered to specific inventories, with a continuation cursor.

List Tax Rates

List the connected merchant's tax rates.

List Tracked Products

Return one page of UUIDs for Zettle products with inventory tracking enabled, with an opaque continuation cursor when more records are available.

List Tracking Updates

Return one page of product inventory-tracking status changes made at or after a timestamp, with a continuation cursor when more are available.

List Webhook Subscriptions

List all webhook subscriptions configured for a Zettle organization.

Move Inventory Stock

Atomically move product-variant quantities between inventories.

Set Inventory Tracking

Start or stop inventory tracking for one or more Zettle products.

Set Low Stock Levels

Set low-stock refill thresholds and Zettle Go alert settings for product variants across inventories.

Update Category

Rename a category.

Update Discount

Update selected fields of a discount using JSON merge-patch semantics, optionally guarded by its ETag.

Update Product

Replace a product using Zettle's full update contract.

Update Tax Rate

Update one tax rate.

Update Tax Settings

Update the organization's taxation mode.

Update Webhook Subscription

Change a Zettle webhook subscription's selected events, HTTPS destination, transport, or contact email.

Upload Product Image

Upload one GIF, JPEG, or PNG product image smaller than 5 MB and larger than 50 by 50 pixels.

SETUP GUIDE

Connect PayPal Zettle MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["zettle"],
  mcp: true,
});
Create a session scoped to PayPal Zettle and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "List the products in my PayPal Zettle product library",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a PayPal Zettle request
SETUP GUIDE

Connect PayPal Zettle API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["zettle"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to PayPal Zettle
3

Run PayPal Zettle tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List the products in my PayPal Zettle product library" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the PayPal Zettle tool calls through the session, and print the final answer

Why Use Composio?

AI Native PayPal Zettle Integration

  • Supports both PayPal Zettle MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your PayPal Zettle data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke PayPal Zettle access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access PayPal Zettle
  • Scoped, least privilege access to PayPal Zettle resources
  • Full audit trail of agent actions to support review and compliance

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

PayPal Zettle requires connections to go through your own OAuth app. You register it once with PayPal Zettle, add its client ID and secret in the Composio dashboard, and from then on everyone connects by signing in to PayPal Zettle as usual. Composio handles the rest of the flow and the token refresh.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your PayPal Zettle connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

When you connect a PayPal Zettle account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in PayPal Zettle as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Exactly the ones PayPal Zettle lists on its consent screen when you connect. Review that screen before approving. If you connect a work account, your PayPal Zettle administrator may need to approve the app first, and you can revoke the access inside PayPal Zettle whenever you want.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each PayPal Zettle connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio refreshes PayPal Zettle tokens automatically, so day to day you do nothing. If you revoke access inside PayPal Zettle, or PayPal Zettle invalidates the session, the connection shows as expired in Composio and the agent stops acting on that account until you reconnect it, which is a single sign-in.

Composio's free Hobby plan includes 100,000 tool calls per month with no credit card, which covers most personal PayPal Zettle use. Paid plans add higher limits and team features. Your PayPal Zettle plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple PayPal Zettle accounts).

With Composio, you connect PayPal Zettle once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with PayPal Zettle.It takes 30 seconds.

Managed auth, hosted MCP servers, and every PayPal Zettle tool your agent needs.Free to start.

Start building