SYSPRO and Zendesk integration
SYSPRO runs manufacturing and distribution operations. Zendesk runs customer support. Connecting the two ensures support agents have visibility into the customer's orders, invoices, and payment status without leaving the ticket interface. New customers and organizations added to SYSPRO flow into Zendesk automatically, and support tickets opened by customers appear as records in SYSPRO for finance and operations teams to track.
What moves between them
The main flow is from SYSPRO into Zendesk. Customer records from SYSPRO flow into Zendesk as organizations and users so support agents see the customer's profile. SYSPRO invoices and purchase orders are polled periodically and surfaced in Zendesk tickets as rich context. When a new ticket is created in Zendesk, a record is logged back into SYSPRO for finance and operations visibility. Zendesk webhooks alert ml-connector when tickets, users, or organizations change, and those changes are recorded in SYSPRO for audit and operational sync.
How ml-connector handles it
ml-connector stores both credential sets encrypted. On the SYSPRO side, it maintains the session token by calling Utilities/Logon at startup and after timeout, then polls OData endpoints for customers, invoices, and purchase orders, filtering on PostDate and InvoiceDate to capture only new records since the last run. On the Zendesk side, it authenticates with OAuth and creates or updates ticket and organization objects. Zendesk webhooks are registered in the Admin Center and verified using the HMAC-SHA256 signature in the X-Zendesk-Webhook-Signature header; ml-connector checks that signature on every incoming webhook to prevent spoofing. When an invoice is created in SYSPRO it is added to Zendesk as a custom field on the customer's organization, and when a support ticket is opened, ml-connector creates a linked record in SYSPRO ApInvoice or PorMasterHdr context for operations to see. Session tokens expire on SYSPRO logoff, so ml-connector refreshes the token proactively before each polling cycle to avoid stale-token errors. Zendesk OAuth tokens do not expire until revoked, so token management is simpler on that side. Both systems support retries on transient failures.
A real-world example
A mid-sized industrial equipment distributor runs SYSPRO for order management and billing, and Zendesk for customer support across three product lines. Before the integration, when a customer called support with an issue, the agent opened Zendesk and the customer's invoice history was stored in a separate SYSPRO window on the agent's desktop, requiring manual lookup. Support tickets were logged by hand in SYSPRO by the operations team days later. With SYSPRO and Zendesk connected, each ticket automatically shows the customer's open invoices and recent orders, and the agent can resolve the issue with full context immediately. Operations teams see tickets appear in SYSPRO the same day they are opened, so urgent billing or delivery issues are caught fast.
What you can do
- Sync SYSPRO customers and suppliers into Zendesk as organizations and users so support agents see account context instantly.
- Poll SYSPRO invoices and purchase orders and attach them as custom fields to Zendesk organization records for immediate visibility.
- Create linked records in SYSPRO for every Zendesk ticket opened by a customer, tagged by ticket type and status for operations tracking.
- Authenticate SYSPRO with session tokens and Zendesk with OAuth 2.0, refreshing SYSPRO tokens proactively before each poll cycle.
- Verify incoming Zendesk webhook signatures with HMAC-SHA256 and log all incoming events for audit and replay.
Questions
- How does ml-connector handle SYSPRO session tokens expiring?
- SYSPRO session tokens expire on logoff or timeout. ml-connector calls Utilities/Logon at startup and proactively refreshes the token before each polling cycle, so token expiry does not interrupt the sync. If a token does expire mid-request, ml-connector retries with a fresh login.
- Why does ml-connector poll SYSPRO instead of waiting for webhooks?
- SYSPRO does not support outbound webhooks. Instead, ml-connector polls OData endpoints at a 5-15 minute interval, filtering on timestamp fields like PostDate and InvoiceDate to capture only new invoices and orders since the last run.
- What happens when a support ticket is created in Zendesk? Does it sync back to SYSPRO?
- Yes. ml-connector receives the ticket created event through a Zendesk webhook, verifies the HMAC-SHA256 signature, and creates a linked record in SYSPRO so the operations team sees the ticket in context with the customer's account and order history. The linked record is tagged by ticket type and priority for visibility.
Related integrations
More SYSPRO integrations
Other systems that connect to Zendesk
Connect SYSPRO and Zendesk
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started