MySQL data in Zendesk

Show MySQL customer data inside your Zendesk tickets, queried live on every ticket open. No ETL, no sync lag, no code.

Zendesk ticket sidebar showing customer data queried live from a MySQL database
The FactBranch panel (right) shows customer details fetched from a live MySQL query every time the ticket opens — no sync, no stale data.

MySQL is the most widely deployed relational database in the world, and for thousands of teams it's where customer-critical data lives: accounts, orders, subscriptions, usage, permissions. When a support ticket comes in, agents need that data. But MySQL isn't connected to Zendesk by default, so they end up tab-switching to an internal admin tool or a database client, copying ticket details into search fields, and pasting answers back. On a busy shift that adds up to hours.

Ready to show MySQL data in your Zendesk tickets?

14-day free trial · No credit card required · Live in 10 minutes

FactBranch fixes that by running a live MySQL query every time a Zendesk ticket is opened, and rendering the result as a panel inside the ticket sidebar. The agent sees the data they need without leaving Zendesk.

How it works

FactBranch is a visual pipeline builder, not an ETL tool. There's no data warehouse in the middle, no sync schedule to tune, no copies of customer records sitting in a third-party database. The flow is simple: the Zendesk app passes the ticket context (requester email, ticket ID, organization, and anything else you want) to FactBranch. FactBranch runs your SQL query against your own MySQL database, using the ticket context as parameters. The query results are rendered into an HTML panel you design, and shown inside the Zendesk sidebar.

The FactBranch pipeline: Zendesk trigger → MySQL query → Display node

Each step is a node in the visual editor. You write one SQL query and one HTML template. Everything else — the Zendesk integration, the parameter passing, the connection pool, the rendering — FactBranch handles.

Writing the query

You write the query directly against your own MySQL database. Ticket context is available as variables you can reference inline: email address, ticket ID, organization fields, most fields available in the ticket. Run the query against your live database from the editor to see results before you hook them up to the sidebar.

Writing a SQL query against your MySQL database, with ticket context as variables

What you show is up to you. A typical SaaS support team might surface the customer's current plan, MRR, and trial state; their most recent invoice and payment status; a count of open tickets or incidents linked to their account; the last few API calls, deploys, or feature flag changes. E-commerce teams usually show the customer's most recent orders, fulfilment status, and lifetime value. Internal-tool teams show permissions, roles, and recent activity. If you can write it as a SQL query, you can put it in the Zendesk sidebar.

Designing the sidebar UI

Once your query returns results, FactBranch pipes them into a display node where you design the Zendesk panel. There's a "Generate a UI" button that produces a working HTML template from the shape of your query results — a sensible starting point you can then edit. You can tweak the template directly, add conditionals for empty or edge-case data, and style it with CSS. The templating language is Jinja2-compatible, so loops and filters work the way you'd expect.

The FactBranch display node: generating an HTML panel from MySQL query results

Keeping it safe

Your MySQL database stays where it is. FactBranch connects out to it with a dedicated read-only user — we recommend creating a MySQL user for FactBranch with the minimum privileges it needs, usually SELECT on the specific tables you want to expose. If your database is behind a firewall, FactBranch can route requests through a static IP so you can safely allowlist us. For extra isolation, run queries against a read replica instead of your primary — the integration works the same way.

Credentials are stored encrypted. We don't cache query results by default, so every ticket gets a fresh read; there's no stale data to worry about, and no long-lived copies of your data in our systems.

Setup

Most teams are live in about 10 minutes. Create a free FactBranch account, add a MySQL connection with read-only credentials (toggle the static-IP option if your database is firewalled), write the SQL query you want the sidebar to run, and design the panel in the display node. The final step is installing the FactBranch app from the Zendesk marketplace and pasting in your API key — agents see the sidebar on the next ticket they open.

See the full walkthrough in our MySQL documentation or watch a support agent use the sidebar in practice.

Ready to show MySQL data in your Zendesk tickets?

14-day free trial · No credit card required · Live in 10 minutes

Show MySQL data in other tools

Show other data in Zendesk