Connector guide13-minute read44 MCP tools7 languages

How to Connect Zuora to Microsoft Copilot via MCP

Zuora Billing REST API for one tenant: customer accounts, subscriptions and orders with preview, renew, suspend and resume, invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. OAuth2 client credentials, no browser sign-in. Cancellations, payments and refunds install switched off.

HCBy HelpCode teamUpdated 13 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

Zuora

Zuora

Zuora subscription billing: customer accounts, subscriptions and orders (preview, create, renew, suspend, resume, cancel), invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. Any Zuora data center or sandbox.

tools

44

Region

INTL

Category

Payments

Authentication

OAuth 2.0

Required env vars

ZUORA_CLIENT_IDZUORA_CLIENT_SECRETZUORA_API_URL
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the Zuora in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

Summary

Zuora Billing REST API for one tenant: customer accounts, subscriptions and orders with preview, renew, suspend and resume, invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. OAuth2 client credentials, no browser sign-in. Cancellations, payments and refunds install switched off.

Try asking

Example prompts for Zuora

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

Zuora · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Zuora, paste your credentials, mint an MCP API key and you're done. No Docker, no git clone, no local server.

Zuora + Microsoft Copilot

Zuora Billing REST API for one tenant: customer accounts, subscriptions and orders with preview, renew, suspend and resume, invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. OAuth2 client credentials, no browser sign-in. Cancellations, payments and refunds install switched off.

Prerequisites

See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:

ZUORA_CLIENT_ID, ZUORA_CLIENT_SECRET, ZUORA_API_URL

Step 1 — Get credentials

Setting up takes about 5 minutes. You need a Zuora tenant and access to its user administration.

  1. In Zuora open Settings, Administration, Manage Users and pick or create an API user whose role has the permissions the tools need: API access and the read permissions for Billing and Payments, plus write permissions for the tools that change data.
  2. Open that user and create a client under OAuth Clients. Copy the client id into ZUORA_CLIENT_ID and the client secret into ZUORA_CLIENT_SECRET. The secret is shown only once; if it is lost, create a new client.
  3. Set ZUORA_API_URL to the REST host of your tenant, without a path or trailing slash: https://rest.zuora.com (US Cloud 2), https://rest.na.zuora.com (US Cloud 1), https://rest.eu.zuora.com (EU), https://rest.ap.zuora.com (APAC), or a sandbox host: https://rest.apisandbox.zuora.com, https://rest.sandbox.na.zuora.com, https://rest.sandbox.eu.zuora.com, https://rest.test.zuora.com, https://rest.test.eu.zuora.com or https://rest.test.ap.zuora.com. Zuora shows the host under your tenant info and in the address of the API docs for your data center.
  4. Install the connector and run zuora_list_products: it lists the product catalog and confirms the setup.

There is no browser sign-in. AnythingMCP fetches an access token at /oauth/token on that host with the OAuth2 client-credentials grant and renews it before it expires. A sandbox client only works on its sandbox host. On a Multi-entity tenant, the OAuth client must belong to the entity you want to read.

What it reads: customer accounts with zuora_list_accounts (Object Query filters such as ["status.EQ:Active", "balance.GT:0"]), zuora_get_account, zuora_get_account_summary (contacts, subscriptions, recent invoices, payments and usage in one call) and zuora_list_account_payment_methods (masked numbers); subscriptions with zuora_list_subscriptions, zuora_list_account_subscriptions and zuora_get_subscription; orders with zuora_list_orders and zuora_get_order; invoices with zuora_list_invoices (overdue ones e.g. with ["status.EQ:Posted", "balance.GT:0", "duedate.LT:2026-10-01"]), zuora_get_invoice, zuora_list_invoice_items and zuora_list_invoice_files (PDF download links); payments with zuora_list_payments and zuora_get_payment, refunds with zuora_list_refunds and zuora_get_refund, credit memos with zuora_list_credit_memos, zuora_get_credit_memo and zuora_list_credit_memo_items; the product catalog with zuora_list_products, zuora_get_product, zuora_list_product_rate_plans and zuora_get_product_rate_plan (the rate plan ids go into orders as productRatePlanId); usage records with zuora_list_usages.

Queries: zuora_query runs ZOQL on one object, e.g. SELECT Id, Name, Balance FROM Account WHERE Status = 'Active', and zuora_query_more fetches the next batch. For SQL across objects with joins and totals, zuora_create_data_query starts a Data Query job and the AI calls zuora_get_data_query until queryStatus is completed; the result is a temporary download link in dataFile. zuora_list_data_queries shows earlier jobs, and zuora_describe_object lists the fields of an object (as XML). All query tools are read-only.

What it writes: zuora_create_account and zuora_update_account. Subscription changes go through orders: zuora_preview_order shows the invoice items and amounts without saving anything, then zuora_create_order creates a new subscription, adds or removes a product, or changes quantity, price or terms. zuora_renew_subscription renews a termed subscription without billing, zuora_suspend_subscription stops billing until zuora_resume_subscription restarts it. zuora_email_invoice emails a posted invoice as PDF, zuora_create_credit_memo_from_invoice creates a credit memo for all or some items of an invoice (Draft unless auto_post is true), and zuora_create_usage uploads one usage record. These change what customers are billed, so the AI previews the order, shows you the amounts and waits for your yes. zuora_create_order with processing_options (runBilling, collectPayment) also invoices and charges the customer.

Switched off at install: zuora_cancel_subscription, zuora_create_payment and zuora_refund_payment. They move money or cannot be undone, so a workspace admin switches them on when the team needs them.

Data formats: most keys (account_key, subscription_key, invoice_key) take either the number (A00000001, A-S00000001, INV00000001) or the 32-character id; filters such as accountId need the id. Amounts are decimal numbers in the account's currency. Dates are YYYY-MM-DD; timestamps are in the tenant time zone unless they end with Z. v1 answers carry success: true, or success: false with reasons (code and message); Object Query answers carry data.

Paging: the Object Query lists (zuora_list_accounts, zuora_list_subscriptions, zuora_list_invoices, zuora_list_usages) return up to page_size records (10 by default, at most 99) and nextPage, which the AI passes back as cursor until it is missing. Other lists take page and page_size and return a nextPage link while more exist. ZOQL returns up to 2,000 records and done: false with a queryLocator for the rest.

Common errors: 400 at the token step means Zuora did not issue a token: check the client id and secret and that ZUORA_API_URL is your tenant's data center. 401 means a wrong client id or secret or the wrong host. 403 means the API user lacks a permission. 404 means a wrong number or id. Errors in v1 answers may also come with HTTP 200 and success: false; the AI reads reasons. 429 means Zuora's limit on concurrent requests per tenant or requests per hour per user was reached: wait and try again.

With the tools on at install, the connector does not cancel subscriptions, take payments or issue refunds. It reads the product catalog but does not create or change products, rate plans or prices, it does not add payment methods, and it deletes nothing.

Step 2 — Install the adapter

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Step 3 — Add the connector in Microsoft Copilot

Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide shows YOUR_SERVER_ID.

Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.

  1. In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
  2. Enter a Server name (for example AnythingMCP), a Server description that says what the connector does, and the Server URL https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server.
  3. Under authentication, choose API key, set Type to Header and the header name to X-API-Key, then select Create.
  4. In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
  5. Try it in the agent's Test pane: ask for something that needs the Zuora tools.
  6. Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.

Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.

Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.

Available tools

ToolWhat it does
zuora_list_accountsList customer accounts with Object Query: filter (e.g. status.EQ:Active, name.SW:Acme, balance.GT:0), choose fields, expand bill-to contact…
zuora_get_accountGet one customer account by number or id: basic info, billing and payment settings, bill-to and sold-to contacts, balance and metrics
zuora_get_account_summaryGet an account summary in one call: basic info, contacts, subscriptions, recent invoices, payments and usage, with balance and last payment
zuora_list_account_payment_methodsList the payment methods of an account (cards, bank accounts, PayPal) with type, masked number, expiry, default flag and status
zuora_create_accountCreate a customer account with name, currency and bill-to contact, plus billing settings (bill cycle day, payment term, batch, auto-pay)…
zuora_update_accountUpdate an account: name, notes, contacts, billing settings, auto-pay, default payment method, CRM id or custom fields
zuora_list_subscriptionsList subscriptions with Object Query: filter by account, status (Active, Cancelled, Suspended, Expired, Draft), term dates or latest…
zuora_list_account_subscriptionsList the subscriptions of one account with rate plans, charges, prices, quantities, terms and status, as Zuora shows them on the account
zuora_get_subscriptionGet one subscription by number or id with term, renewal settings, status, rate plans, charges (price, quantity, billing period) and owner…
zuora_list_ordersList orders (the records of subscription changes: new subscription, add product, update, renew, cancel) by status and date range, with…
zuora_get_orderGet one order by order number with its order actions, the subscriptions it created or changed, and the order metrics
zuora_preview_orderPreview an order without saving it: the invoice items, charge metrics and amounts a new subscription or a change would produce
zuora_create_orderCreate an order: new subscription, add or remove a product, change quantity or price, renew or change terms
zuora_renew_subscriptionRenew a termed subscription for another renewal term now, without billing
zuora_suspend_subscriptionSuspend an active subscription: billing stops from the suspend date until it is resumed
zuora_resume_subscriptionResume a suspended subscription today, on a date or after a number of periods; billing restarts from the resume date
zuora_cancel_subscriptionCancel a subscription at the end of the term, at the end of the last invoiced period or on a date
zuora_list_invoicesList invoices with Object Query: filter by account, status (Draft, Posted, Canceled), balance, invoice or due date, expand invoice items or…
zuora_get_invoiceGet one invoice by number or id with account, dates, amounts, tax, balance, status and payment and credit applications
zuora_list_invoice_itemsList the items of an invoice: charge name, subscription, service period, quantity, unit price, amount and tax per line
zuora_list_invoice_filesList the PDF files generated for an invoice with their download URLs (the newest first)
zuora_email_invoiceEmail a posted invoice as PDF to the bill-to contact, to the extra addresses of the account or to given addresses
zuora_list_paymentsList payments with amount, applied and unapplied amount, status, type, effective date and account
zuora_get_paymentGet one payment by number or id with amount, applied, unapplied and refunded amounts, gateway state, payment method and dates
zuora_create_paymentCreate a payment: an External payment records money received, an Electronic one charges the payment method through the gateway
zuora_refund_paymentRefund a payment: Electronic sends money back through the gateway, External records a refund made elsewhere
zuora_list_refundsList refunds with amount, status, type, method, refund date, account and the payment or credit memo they come from
zuora_get_refundGet one refund by number or id with amount, status, method, gateway state, reason code and source payment or credit memo
zuora_list_credit_memosList credit memos with amount, applied, refunded and unapplied amounts, status, date, account and the invoice they refer to
zuora_get_credit_memoGet one credit memo by number or id with amounts, status, reason code, dates and the invoice it refers to
zuora_list_credit_memo_itemsList the items of a credit memo: charge, service period, amount, applied and refunded amount and tax per line
zuora_create_credit_memo_from_invoiceCreate a credit memo from a posted invoice, for all or some of its items
zuora_list_productsList the product catalog: products with their rate plans and charges (model, billing period, prices per currency and tiers)
zuora_get_productGet one catalog product by SKU or id with its rate plans and charges, prices per currency and tiers
zuora_list_product_rate_plansList the rate plans of one product with effective dates, status and, with charge definitions, the charges and prices
zuora_get_product_rate_planGet one product rate plan by id or number with its charges, prices, billing periods and effective dates
zuora_list_usagesList usage records with Object Query: filter by account, unit of measure, start date or rating status, page with a cursor
zuora_create_usageUpload one usage record for usage-based charges: account, unit of measure, quantity and start time, optionally tied to a subscription or…
zuora_queryRun a ZOQL query (SELECT fields FROM object WHERE ...), e.g
zuora_query_moreGet the next batch of a ZOQL query: pass the queryLocator of the previous answer while done is false
zuora_create_data_queryStart a Data Query job: SQL across objects with joins and aggregates, e.g
zuora_get_data_queryGet a Data Query job: queryStatus (accepted, in_progress, completed, failed) and, when completed, dataFile (a temporary download link) and…
zuora_list_data_queriesList recent Data Query jobs with their query, status, row count and result link, newest first
zuora_describe_objectDescribe a Zuora object for ZOQL and Data Query: its fields with type, label, whether they are filterable, and related objects

Example prompts

  • "Which accounts have posted invoices that were due before October 1 and still carry a balance? Show account, invoice number and open amount."
  • "Give me a summary of account A00001234: active subscriptions, the last invoices and the last payments."
  • "Preview adding 5 seats of the Pro plan to subscription A-S00000120 from the first of next month and show me the amounts before placing the order."
  • "With a Data Query, add up the open invoice balance per customer and list the 10 largest."
  • "Email invoice INV00004567 as PDF to [email protected] again."

FAQ

Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.

What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.

The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.

Next steps

Was this guide helpful?

Your Zuora agent is one click away.

Install the connector, paste the key, prompt Microsoft Copilot. Free for 7 days, no credit card.

Related guides

Connectors

How to Connect Zuora to ChatGPT via MCP

Zuora Billing REST API for one tenant: customer accounts, subscriptions and orders with preview, renew, suspend and resume, invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. OAuth2 client credentials, no browser sign-in. Cancellations, payments and refunds install switched off.

Connectors

How to Connect Zuora to Claude via MCP

Zuora Billing REST API for one tenant: customer accounts, subscriptions and orders with preview, renew, suspend and resume, invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. OAuth2 client credentials, no browser sign-in. Cancellations, payments and refunds install switched off.

Connectors

How to Connect Zuora to Cursor via MCP

Zuora Billing REST API for one tenant: customer accounts, subscriptions and orders with preview, renew, suspend and resume, invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. OAuth2 client credentials, no browser sign-in. Cancellations, payments and refunds install switched off.

Connectors

How to Connect Zuora to Gemini via MCP

Zuora Billing REST API for one tenant: customer accounts, subscriptions and orders with preview, renew, suspend and resume, invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. OAuth2 client credentials, no browser sign-in. Cancellations, payments and refunds install switched off.

Connectors

How to Connect Zuora to Meta Muse via MCP

Zuora Billing REST API for one tenant: customer accounts, subscriptions and orders with preview, renew, suspend and resume, invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. OAuth2 client credentials, no browser sign-in. Cancellations, payments and refunds install switched off.

Connectors

Zuora to MCP: Subscriptions, Orders, Invoices, Payments and ZOQL Queries in any AI Agent

Zuora Billing REST API for one tenant: customer accounts, subscriptions and orders with preview, renew, suspend and resume, invoices with items and PDFs, payments, refunds and credit memos, the product catalog with rate plans, usage, and ZOQL, Object Query and Data Query reads. OAuth2 client credentials, no browser sign-in. Cancellations, payments and refunds install switched off.