ml-connector
Zoho BooksMailchimp

Zoho Books and Mailchimp integration

Zoho Books manages your customers and invoices; Mailchimp manages your customer communications. Connecting the two keeps your email audience aligned with your actual customer base. New customers added in Zoho Books flow to Mailchimp lists automatically, and customer contact changes stay synchronized across both systems. ml-connector handles the very different OAuth2 flows on each side and the regional endpoints Zoho Books requires.

How Zoho Books works

Zoho Books is a cloud-based accounting platform for SMBs that exposes customers, contacts, invoices, bills, purchase orders, expenses, and chart of accounts through REST APIs. The platform requires OAuth2 authentication with a user-delegated refresh token, and every API call must include an organization ID query parameter. Each customer organization lives in exactly one region with a region-specific base URL (US, EU, India, Australia, Japan, Canada, China, or Saudi Arabia), so the connector must route calls to the correct regional endpoint. Access tokens expire after 1 hour and refresh tokens have no expiry but are capped at 20 per user and 10 new tokens per 10-minute window. Zoho Books supports outgoing webhooks for most entity types but also allows polling with offset-based pagination.

How Mailchimp works

Mailchimp is an email marketing platform that exposes lists, list members, e-commerce customers, and orders through REST API v3.0. It authenticates with HTTP Basic Auth using a single API key or OAuth2 Authorization Code flow, and the data center prefix must be extracted from the API key or resolved via OAuth metadata. Unlike accounting systems, Mailchimp has no GL accounts, purchase orders, or vendor records, making e-commerce orders the closest financial analog when tracking transaction status. Marketing API webhooks have no cryptographic signature verification and rely on HTTPS and secret URLs, whereas Transactional API webhooks use HMAC-SHA1. OAuth2 access tokens do not expire and require no refresh.

What moves between them

Customer contact records flow from Zoho Books into Mailchimp. When a new contact is created or updated in Zoho Books, ml-connector maps the contact to a Mailchimp list member, syncing name, email, phone, and custom fields where applicable. Invoices and bill metadata can tag list members with customer segment or payment status, enabling targeted email campaigns. The sync runs on a schedule you set or can be triggered by Zoho Books webhooks when available. Because Mailchimp is audience-only, data flows one direction: Zoho Books is the source of truth for customer identity, and Mailchimp receives and maintains audience segments.

How ml-connector handles it

ml-connector stores both credential sets encrypted and handles the region-specific routing for Zoho Books by detecting the region from the OAuth2 token response and directing all subsequent calls to the correct regional base URL. For Zoho Books, it refreshes access tokens proactively at 55 minutes to avoid expiry mid-sync, and includes the required organization ID on every call. For Mailchimp, it extracts the data center prefix from the API key or OAuth metadata and routes to the correct endpoint. ml-connector maps Zoho Books contact fields (name, email, phone, billing address, shipping address) to Mailchimp list member fields and custom attributes, and can enrich Mailchimp records with Zoho Books customer tags or segment codes. It can listen to Zoho Books webhook events when configured or poll the Zoho Books contact list on a schedule tied to your invoice and payment cadence. Every contact record carries a full audit trail so a failed mapping or contact update can be replayed if the downstream Mailchimp call encounters a transient error.

A real-world example

A mid-sized SaaS company with 500 active customers runs Zoho Books for invoicing and accounting, and uses Mailchimp for customer newsletters and product announcement campaigns. Before the integration, the marketing team manually maintained a Mailchimp list from a monthly CSV export of the Zoho Books customer table, losing new customer signups and missing churned customers. With the integration, every new customer added to Zoho Books automatically joins the Mailchimp audience, every customer who churns (indicated by a termination tag or zero recent invoices) is marked as inactive, and the marketing team can segment campaigns by customer segment or invoice currency without manual list maintenance. The monthly sync headache is gone, and campaigns now reach the right audience every time.

What you can do

  • Sync customer contacts from Zoho Books into Mailchimp lists automatically, adding new customers and updating existing list members when contact details change.
  • Route all Zoho Books API calls to the correct regional endpoint (US, EU, India, Australia, Japan, Canada, China, or Saudi Arabia) based on the customer organization region.
  • Map Zoho Books contact fields to Mailchimp list member fields and custom attributes, including name, email, phone, and customer segment tags.
  • Handle proactive token refresh for Zoho Books OAuth2 and data center endpoint resolution for Mailchimp API keys, with full credential encryption.
  • Poll Zoho Books on a schedule tied to your invoice cadence or listen to Zoho Books webhook events, with complete audit trail and error replay on every contact sync.

Questions

Which direction does data flow between Zoho Books and Mailchimp?
Data flows one direction: from Zoho Books into Mailchimp. Customer contact records, billing information, and customer segment tags sync from Zoho Books to Mailchimp lists. Mailchimp is an audience platform, not an accounting system, so there is no financial data or operational data moving back to Zoho Books.
How does the integration handle Zoho Books regional endpoints?
Zoho Books customer organizations live in one region (US, EU, India, Australia, Japan, Canada, China, or Saudi Arabia), each with its own base URL. ml-connector detects the region from the OAuth2 token response and automatically routes all subsequent API calls to the correct regional endpoint, so you do not need to manage endpoint URLs per customer.
What happens if Zoho Books access tokens expire during a sync?
ml-connector refreshes Zoho Books OAuth2 access tokens proactively at 55 minutes, before they expire. If a token approaches expiry, it is refreshed before the next API call. If a call does return a 401 due to token expiry, ml-connector retries after refreshing, ensuring no customer records are lost due to authentication lapses.

Related integrations

Connect Zoho Books and Mailchimp

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started