ml-connector
QuickBooks DesktopZendesk

QuickBooks Desktop and Zendesk integration

QuickBooks Desktop runs accounting for small to mid-size businesses. Zendesk runs customer support across email, chat, and phone. Connecting them keeps your support team's customer records and vendor contacts in sync with your accounting data, so support agents see the correct billing status, payment history, and vendor information without leaving Zendesk. New customers added in QuickBooks automatically appear as organizations in Zendesk, and support ticket data feeds back into QuickBooks for audit and compliance.

How QuickBooks Desktop works

QuickBooks Desktop is a locally-installed Windows accounting product accessed through a customer-hosted QBWC (Web Connector) agent that polls your remote SOAP service on a configurable interval. It exposes customers, vendors, invoice records, payment information, employees, and accounts through QBXML request and response envelopes. Authentication uses a session token handshake through the SOAP authenticate method. QuickBooks must be running and logged into the company file for the QBWC agent to process requests. Changes are detected by querying with ModifiedDateRangeFilter on each poll cycle; there are no webhooks. Pro and Premier editions support up to 14,500 list entries combined.

How Zendesk works

Zendesk is a cloud-based customer support platform accessible via REST API at customer-specific subdomains (https://{subdomain}.zendesk.com/api/v2/). It authenticates with OAuth 2.0 bearer tokens or API tokens via basic auth. Zendesk exposes tickets, users (customers and support agents), organizations (companies), and groups through REST endpoints. Webhook events are available for ticket creation, updates, assignment, and resolution, as well as user and organization changes. Webhooks use HMAC-SHA256 signature verification with the X-Zendesk-Webhook-Signature header.

What moves between them

Customer records from QuickBooks Desktop are synchronized to Zendesk as organizations, and vendor contacts flow as secondary user records so support agents can see who they are dealing with. Ticket data from Zendesk is pulled back into QuickBooks on a scheduled basis for audit, dispute resolution, and case tracking. Email addresses, phone numbers, and billing information map from QuickBooks fields to Zendesk user and organization attributes. The flow is bidirectional and operates on a poll cycle tied to your accounting period and support team's shift pattern.

How ml-connector handles it

ml-connector runs your SOAP endpoint to receive the QBWC handshake, validates the session token from the authenticate() call, and queries QuickBooks on your configured interval using ModifiedDateRangeFilter to fetch new and updated customers and vendors. On the Zendesk side, it uses OAuth 2.0 to authenticate and maps QuickBooks Customer records to Zendesk organizations, pairing each with a primary user record. Vendor records become secondary user entries linked to an internal vendor organization. Email and phone fields are mapped where available; missing phone numbers on Zendesk users default to company switchboard or remain blank. Since QuickBooks Desktop runs locally and has no webhooks, ml-connector polls on a schedule (typically daily during accounting hours) rather than reacting in real-time. Zendesk rate limits are monitored and retried with exponential backoff. Every mapping carries audit metadata so mismatched records can be flagged and replayed if a sync step fails.

A real-world example

A mid-sized e-commerce and logistics company runs QuickBooks Desktop for accounting and Zendesk for multi-channel customer support. Before the integration, when customers contacted support, the team looked up billing status and recent orders in QuickBooks separately, typing company names between windows and chasing inconsistencies when a customer appeared under a variant name. Vendors also submitted support requests through the same Zendesk instance, but their payment terms and outstanding balances were manual lookups. With QuickBooks Desktop and Zendesk synchronized, each customer ticket opens with the organization's current account status and contact details pre-populated, and vendor communications are logged against the correct vendor record. The support team cuts resolution time and eliminates misrouted escalations.

What you can do

  • Synchronize QuickBooks Desktop customer records to Zendesk as organizations with pre-populated billing and contact details.
  • Map QuickBooks vendors to Zendesk as secondary user records linked to internal vendor organizations.
  • Poll QuickBooks Desktop on a configurable interval to detect new and modified customers and vendors without requiring webhooks.
  • Pull Zendesk ticket and user records back into QuickBooks on a scheduled basis for audit, dispute tracking, and compliance reporting.
  • Handle the SOAP session token handshake with your customer-hosted QBWC agent and present OAuth 2.0 credentials to Zendesk.

Questions

How does the integration detect changes in QuickBooks Desktop if there are no webhooks?
ml-connector runs your SOAP service to receive QBWC polling requests on your configured interval (minimum 1 minute, typical 5-15 minutes). It queries QuickBooks using ModifiedDateRangeFilter to detect customers and vendors changed since the last poll, so new and updated records sync without requiring native webhook support in QuickBooks.
What QuickBooks Desktop fields map to Zendesk organization and user attributes?
Customer name, billing address, phone, email, and account balance from QuickBooks Customer records map to Zendesk organization fields and primary user contact details. Vendor names, contact persons, and payment terms flow to Zendesk as secondary user records. Custom field mappings can be configured per customer if your chart of accounts or contact structure varies.
Does the integration handle the session token and credential exchange automatically?
Yes. ml-connector manages the SOAP authenticate() handshake with QBWC, stores the returned session ticket, and uses it for all subsequent queries in the poll cycle. On the Zendesk side, it presents OAuth 2.0 credentials (client ID, secret, and access token) automatically, so your team only needs to configure the initial OAuth grant and the poll interval.

Related integrations

Connect QuickBooks Desktop and Zendesk

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

Get started