The Kanban pipeline view in Freshsales is the page reps live in. It also happens to be the slowest page in the product once your deal count crosses about 5,000 open records. Here is what is actually happening server-side and what you can change today.
What the view does on every load
Each pipeline render fires three calls: a stage-grouped deal list, a per-deal currency conversion against your base currency, and a hydration call for every visible custom field. Default page size per stage is 25, but if you have nine stages that is 225 cards before the user scrolls, plus 225 currency conversions if multi-currency is on.
The browser then runs a layout pass for every card. Cards with five or more visible custom fields take roughly 40 percent longer to paint than the default three-field card.
The five highest-impact fixes
- Cap the visible columns. Hide stages your team never touches in the day view (Closed Won and Closed Lost belong in the funnel report, not the Kanban). Pipeline settings let you hide without deleting.
- Trim the card. Settings, Deal Pipelines, Card Layout. Keep four fields max: amount, close date, contact, one custom. Anything else lives in the side panel.
- Pin a default filter. An “Owner is current user” filter on the saved view drops the deal count by 10x for individual reps and removes the join against the team table.
- Disable currency conversion if you only sell in one currency. Admin, Currencies. The conversion call is per card, not batched.
- Move stale deals out. Anything not updated in 90 days should auto-move to a “Cold” pipeline via workflow. Active pipeline stays lean.
Custom field cost
Every custom field of type lookup or formula adds a separate query. Lookup fields against the Accounts module are cached for 60 seconds; formula fields are recalculated on read. If you have a formula field showing “days in stage,” replace it with a workflow that writes a regular number field on stage change. The number field is free to render.
Filter design that does not fight the index
Freshsales indexes owner, stage, expected_close_date, and amount. Filters on those four fields are fast. Filters on custom dropdowns or text fields force a full scan of the open deal set. If your default view filters on a custom “Region” field, convert it to a territory (which is indexed) and the filter becomes free.
Measuring before you change
Open Chrome DevTools, Network tab, filter for the pipeline_view XHR. Note the response time. Make one change, hard refresh, measure again. Most teams shave 60 percent off the load time with the column trim alone.
What to do this week
Audit your pipeline card layout, drop it to four fields, hide closed stages from the Kanban, and add an owner filter to the default view. Re-measure pipeline load time and share the before/after with the sales team.