TradeCore’s support platform collapsed after Zendesk switched the broker to a pricier contract, prompting the team to rebuild their own ticketing system in two days. The rapid migration shows why SaaS buyers must keep an eye on vendor lock‑in and pricing transparency.
We Replaced Zendesk in 48 Hours

On a Wednesday morning our support team tried to add six new agent seats to our Zendesk subscription. The order button was dead, the subscription page returned an error, and Zendesk Support replied that the bug was on their side. They offered to process the order manually as a new contract term. We paid the invoice.
A few hours later every broker that relied on TradeCore’s support portal lost access. The portal – the front‑end of nearly a decade of support history, close to 200 000 tickets, replies and attachments – went dark.
The problem
Zendesk’s manual contract reset did three things at once:
- Killed the legacy product that hosted our customer‑facing portal.
- Switched us to a plan four times more expensive per seat than the one we had paid for the last nine years.
- Imposed a forced annual commitment with no warning.
Our customers could not raise support requests, a disruption that threatened broker relationships and revenue. The rational response would have been to pay the new price, restore the portal, and plan a migration over the next year.
Why we chose a different path
Three facts made the “pay‑and‑wait” option unattractive:
- Rent‑like payments create a hostage dynamic. Every dollar paid after the surprise price hike felt like rent on a system we could not leave.
- Our support surface lived in a separate SaaS product. The broker portal was a thin layer on top of Zendesk, while agents worked inside TradeCore’s own CRM. The split meant duplicated data and fragile integrations.
- We already owned most of the building blocks. TradeCore is a CRM and workflow platform for FX and CFD brokers. We had a customer entity, a Slack‑and‑Jira triage pipeline, and a decade of domain knowledge ready to be repurposed.
The urgency forced a decision: build our own portal in a weekend or stay tied to a vendor that had just proved it could change the rules overnight.
The 48‑hour build
The team launched an ultrahackathon:
- Wednesday night – wrote a spec based on ten years of ticket data, not on a generic ticketing checklist.
- Thursday – assembled the front‑end, hooked it into TradeCore’s authentication, and created a read‑only import of historic Zendesk tickets.
- Friday afternoon – cut over production, kept the Zendesk webhook running for a seven‑day overlap, and decommissioned the old portal once we verified zero new tickets landed there.
Key architectural choices:
- Separate authentication boundary – the customer portal now deploys independently from the internal CRM, eliminating the coupling that made a CRM deploy take down the broker portal.
- Unified customer entity – tickets, work items, product configurations and test scenarios all hang off the same broker record. Agents see a ticket, the broker’s open work items, and recent product changes on a single screen.
- Read‑only migration of historic tickets – original Zendesk IDs are preserved, so internal links still resolve.
The cutover was invisible to agents using Slack and Jira; they continued their workflow without noticing the source change. That, to us, was the highest compliment a migration can earn.
What we gained beyond the portal
Moving support inside our own platform turned a ticketing function into a service function:
- Automated regression testing – a broker’s complaint can be turned into a repeatable TestIQ test that runs against that broker’s configuration, guarding against the same issue resurfacing.
- End‑to‑end traceability – a ticket now links directly to the engineering work item that resolves it and to the product change that shipped, eliminating the “two‑tool” disconnect that Zendesk imposed.
- No more vendor‑driven price surprises – we own the cost structure and can price support in line with the rest of our SaaS offering.
Lessons for SaaS buyers
- Never assume you can’t leave. When a vendor can change pricing or product tiers without notice, the relationship is fundamentally unbalanced.
- Keep data and workflows under your control. A tightly coupled third‑party ticketing layer creates a single point of failure; a decoupled architecture lets you replace components without downtime.
- Invest in internal platform building blocks. TradeCore already had a CRM, authentication, and a workflow engine. Leveraging those saved weeks of development.
- Plan for overlap. Running the old webhook for a week gave us confidence that no tickets were slipping through the cracks – a courtesy we expect from any vendor‑led migration.
Concrete commitments from TradeCore
We are not attacking Zendesk as a product; the issue was a commercial decision. To avoid similar situations for our own customers, we are pledging two narrow, enforceable policies:
- No silent price tier changes. Any change to a customer’s bill will be communicated well before it takes effect, with clear reasoning, and never buried in a support reply.
- Transparent billing dashboards. Every customer will have an up‑to‑date view of what they pay, what is included, and any upcoming changes. If a customer ever finds the view unclear, we will fix it immediately.
These commitments are simple, measurable, and directly address the pain point that forced us into a 48‑hour rebuild.
Igor Jovic, CEO, TradeCore
Ready to see how TradeCore can help you build and scale a forex brokerage?
Schedule a demo to explore our integrated CRM, workflow automation, and now‑in‑house support platform.

Comments
Please log in or register to join the discussion