Skip to main content
Custom Rules give you precise, structured control over how the Triage Agent behaves on your tickets — replacing the single free-text rules field with a set of focused, individually targeted rules you can iterate on safely.

What’s changing

Before: one large free-text custom rules field, plus a few tile-based default rules. Everything you wanted the agent to do had to live in the same paragraph, and any “this rule only applies to client X” or “this rule only applies to VIP contacts” caveats had to be written in plain English inside the rule and hoped to be respected by the model. Now: structured Custom Rules with the following capabilities.

Day-one: how the switch works

Custom Rules ships behind a workspace-level toggle so you can adopt it on your own timeline, test thoroughly, and roll back instantly if needed. !

When you flip the toggle on

  • The new Custom Rules module opens up in your admin panel — you can create, edit, and target rules immediately.
  • Your old rules remain published and live on the agent. Tickets the agent handles still follow your existing rules. Nothing changes for end users yet.
  • Anything you build in the new module is in Draft state until you click Publish.
!

While you’re building

  • Iterate freely. Add rules, change filters, soft-disable, optimize. Drafts don’t touch the live agent.
  • Test in the Emulator. Select a ticket, run it through your draft rules, and see exactly how the agent would respond if your drafts were live. The emulator uses your actual data and your draft rule set — no surprises at publish time.
  • A counter on the Custom Rules page shows you how many unpublished changes you have at any moment.

When you’re ready

  • Click Publish. All your drafts go live simultaneously, replacing the old rules in one atomic step. The agent immediately starts using the new rule set on incoming tickets.

Rollback (any time)

  • Flip the toggle back. Your old rules are restored as the live rule set. Nothing in the new module is lost — it’s still there in draft form when you flip the toggle back on.
  • Use this freely. The whole point is for you to evaluate the new system without risk.
!

Creating a rule

1

Open Custom Rules

In Thread admin, go to Magic Agent → Custom Rules.
2

Add a rule

Click New Rule and fill in:
  • Rule name — a short label so you can find it later. Internal only — the agent doesn’t see this.
  • Rule content — the actual instruction you want the agent to follow, in plain language. Up to 5,000 characters.
  • Filters — who the rule applies to (see the next section).
!
3

Optimize (recommended)

Click Optimize to have AI tighten the wording, restructure for clarity, and check for duplicates or conflicts with your existing rules. Accept the optimized version, edit further, or keep your original.!
4

Test in the Emulator

Open the Emulator, select a recent ticket that the rule should apply to, and run it. You’ll see how the agent would respond with your draft rules in place — including which rules were applied and which were filtered out.
5

Publish

When you’re ready, click Publish. Your drafts go live in one coordinated step.
Rule filters (who each rule applies to)
Each rule can target one of six audiences. Only matching tickets will see the rule. A rule has one filter at a time. If you want the same content to apply across multiple filters, create one rule per filter — the Optimize button will help you avoid duplicating language. Why filters matter: when a ticket comes in, Thread evaluates each rule’s filter and only sends the matching rules to the agent. The agent isn’t distracted by rules that don’t apply, which makes its responses faster, cheaper, and more accurate.
The Emulator
The Emulator lets you preview how the Triage Agent will respond using your draft rule set, before publishing. What you can do in the Emulator:
  • Select any recent ticket from your workspace.
  • Run it through your draft rules.
  • See the agent’s response, plus which rules were applied and which were filtered out for that specific ticket.
  • Tweak rules, re-run, repeat.
Why this matters: the Emulator removes the guesswork from rule changes. You can verify a rule fires when expected (and only when expected) before any real customer touches it.
Draft and Publish
Every rule has both a Draft version and a Published version. Edits land in the draft first; the agent only ever reads the published version. Operations available:
  • Save (custom rule or default rule) — your changes are stored, no impact on the live agent.
  • Clear unpublished changes — abandon every pending change at once.
  • Publish — promote all pending drafts to published in a single step. The agent picks them up immediately.
A badge on the Custom Rules sections shows how many unpublished changes you have at any moment.
AI Optimize
The Optimize button takes a draft you’ve written and:
  1. Returns a tightened, agent-friendlier version that’s clearer for the model to follow.
  2. Compares it against your existing rules to flag duplicates and conflicts — so you don’t end up with two rules giving contradictory guidance on the same ticket.
Use it whenever you create or edit a rule. It’s optional. These limits are intentionally generous compared to the previous single-field approach.

Best practices

  1. Filter tightly. A rule scoped to a specific client or contact type fires reliably and won’t dilute the agent’s attention on other tickets. Workspace-wide rules are best for principles, not client-specific behavior.
  2. Run Optimize before publishing. It catches duplicate logic across rules you may have forgotten about.
  3. Use the Emulator on a few real tickets before publishing. It’s the fastest way to catch unintended interactions between rules.
  4. Use soft-disable instead of delete. If you’re not sure whether a rule is helping, soft-disable it for a week and watch the agent’s behavior before deciding to remove it permanently.

FAQ

Nothing changes immediately. Your existing rules stay published and live on the agent. The new module opens up in draft mode so you can build at your own pace. Your old rules stop being live the moment you Publish in the new module.
Yes — flip the toggle off at any time. Your old rules are restored as the live rule set. The drafts you built in the new module are preserved, so flipping the toggle back on returns you to where you left off.
No. Only published rules are visible to the Triage Agent. Drafts are entirely yours to iterate on.
The Optimize button will flag conflicts at draft time. If a conflict slips through, the agent follows the more specifically-filtered rule (e.g. a contact-type rule beats a workspace-wide rule on the same ticket).
Yes — 10 rules per workspace, 5,000 characters per rule.
By design. We send only the rules whose filter matches the current ticket. This keeps the agent’s context focused, faster, and more accurate. You can always see which rules were applied to a specific ticket via the Emulator (drafts) or — coming soon — directly on the ticket itself.

How did we do?