AI-Powered Macros for Customer Experience
The problem
Support agents solve the same handful of problems all day — password resets, duplicate charges, refund requests, routing bugs to the right team. Canned responses solve the "what to say" half of that. They don't touch ticket fields, they don't guide the actions around the response, they don't know which one applies to the ticket in front of you, and once shipped, nobody can tell whether they're actually helping.
What we built
An AI layer on top of Freshdesk macros that reads an incoming ticket, matches it against the macro library, and suggests the right one with a confidence score — while leaving the agent fully in control, and giving admins the data to keep improving the system over time.
- Macros are optional, always. The reply composer is live from the moment a ticket opens. An agent can ignore every suggestion and write their own response. Applying a macro can be full (fields + response + tools) or "response only" (just the drafted text, no fields touched) — the agent chooses the level of automation per ticket.
- Two scopes, one governance view. Global macros are admin-managed and available to the whole team. Personal macros belong to one agent and stay visible only to them — built from scratch, or turned into a macro directly from how they just handled a ticket. Admins can see and filter both scopes for governance without personal macros ever leaking into another agent's suggestions.
- More than a canned response. Each macro carries guided steps — the actual judgement calls an agent needs to make, like confirming a routing decision before escalating — plus a defined set of field actions: status, priority, category, group, tags.
- Connected automation, defined once. Macros can attach MCP tools for retrieving account data, debugging, generating a grounded reply, or acting on a connected system. Read-only tools run automatically the moment the macro is applied, so diagnostic evidence is already on screen. Sensitive tools — a refund, a password reset — can be gated per macro to require an explicit click, so irreversible actions never fire on a confident guess alone.
- Learn from what already happened. Selecting a macro surfaces previously resolved tickets handled the same way, with the actual resolution and the lesson learned — turning tribal knowledge into something every agent can see.
- A kill switch, not just a delete button. Every macro can be enabled or disabled independently of being deleted, so a macro that's misfiring can be pulled from suggestions instantly while its definition, history and usage data stay intact.
Built-in metrics and a feedback loop
This is the part that turns the feature from a one-time build into something a team can keep improving:
- Usage count per macro, visible in the admin console, shows exactly which macros agents actually reach for — the basis for deciding what to refine, retire, or promote from personal to global.
- Dismissal is a logged signal, not a dead end. When an agent dismisses an AI suggestion and writes their own reply instead, that's captured as a case where the matching missed — the same kind of signal a recommendation system would use to retrain.
- A live test panel in the macro editor lets an admin run any draft macro against a real ticket and see the exact confidence score and matched keywords it would have produced — before it ever reaches an agent's queue.
- Together, usage + dismissals + the test panel form a closed loop: ship a macro, watch how it performs, adjust its keywords or guidance, and re-test — without waiting for a quarterly review to find out it wasn't working.
Why it matters
The value isn't "AI writes the reply." It's that everything around the reply — routing, diagnostics, field updates, the judgement checklist — happens the moment a macro is applied, instead of being reconstructed by hand on every ticket. And because the system tracks its own usage and its own misses, it's a feature that compounds instead of one that quietly decays after launch.
Impact today
- Faster resolution — diagnostics and field updates land in seconds instead of being assembled manually
- Consistency — every agent handling the same issue follows the same guided steps, not their own memory of the last time
- Faster ramp-up — a new agent inherits the judgement of the team's best agents through guided steps and matched history
- Safer automation — teams introduce automation progressively, tool by tool, macro by macro, with irreversible actions gated by design
- Less duplicate work — similar-ticket history stops several agents from independently re-diagnosing the same known issue
- Visibility from day one — usage counts and dismissal signals mean the team isn't guessing whether the system is helping
Future scope
- A full analytics dashboard built on the usage and dismissal data already captured — time saved per macro, resolution-time delta versus manual handling, and a ranked list of where AI matching needs better keywords or guidance
- Closed-loop tuning — feeding dismissals and edits back into the classifier automatically, rather than requiring an admin to notice and adjust manually
- Promotion workflow — a formal path for a high-performing personal macro to become a global one, with usage data as the evidence
- Deeper MCP coverage — extending beyond the current retrieve/debug/generate/act tools into more connected systems as teams' automation appetite grows
- Cross-product rollout — the same macro engine applied beyond ticket support into chat and other Freshworks channels
- A/B testing macros — running two variants of a macro's response or action set against similar tickets to measure which resolves faster or gets reopened less
Built With
- claude
- figma
- freshdesk
Log in or sign up for Devpost to join the conversation.