Start with what’s unique to you
The most common mistake is telling the agent things it already knows. Neo ships with built-in skills — diagnosis methodology, end-user communication, PSA and Microsoft 365 know-how — and sensible defaults. Your instructions sit on top of those and win wherever they conflict. So spend your words on what’s specific to your MSP: your processes, your decision rules, your guardrails, your tone. Don’t restate things Neo already does:| Already handled by Neo | So don’t write… |
|---|---|
| Searching documentation and past tickets | ”Search the knowledge base for the answer” |
| Adding notes and logging time | ”Remember to log your time” |
| Professional tone and plain language | ”Be professional and polite” |
| Keeping customer data safe | ”Don’t leak personal information” |
| Not promising specific timelines | ”Don’t over-promise on timing” |
| Choosing which tool to use for a task | ”Call the ticket-update tool, then the note tool” |
Custom instructions are per-agent and apply to every company that agent serves. To add rules for one specific client — their escalation contact, their preferred tone, their custom-field conventions — use Company Memory instead. Both are “your instructions” and both override skills.
Say what to do and where the limits are — usually not how
This is the most important default to get right — it’s where most instructions go astray. Your agent already has its tools, and it picks the right one at runtime from each tool’s description. As a default — especially when you’re starting out — describe the outcome and the guardrails, and leave the mechanics to the agent. Reaching for specific tools, API endpoints, HTTP methods, PowerShell cmdlets, or raw system field names tends to make instructions more brittle, can box the agent in, and is easy to get subtly wrong. Saying what you want is usually shorter and survives product changes, PSA differences, and new tools.A structure that works
Most strong agents follow the same simple skeleton. You don’t need every section, but this order reads well to the model:Goal — one line
Open with what this agent accomplishes. Many of the best instructions literally start with
Goal:.Role — who it is
Especially for chat agents: “You are a friendly first-line IT support assistant for end users.” This frames everything that follows.
Steps or decision rules
The ordered work, as bullets. Keep them short. For branching logic, state the condition, then the action.
Escalation — when to hand off
The conditions that send a ticket to a human, and what to leave behind for them.
Write decision rules, not vibes
“Handle urgent tickets quickly” tells the agent nothing it can act on. Give it the actual rule — a threshold, a list, a condition. Specific instructions produce consistent agents. A security-triage agent, for example, classifies every alert with explicit bands instead of “use your judgment”:Guardrails and escalation
State the limits as clearly as the work — the best instructions often write the “never” list more emphatically than the “do” list. Cover:- Hard prohibitions — “Never make tenant-wide, network-wide, or security-impacting changes.” “Don’t provide account or password support for the client’s line-of-business app (e.g. their accounting or HR system) — only help with installation and updates.”
- Security basics for anything customer-facing — never ask a user to type a password, MFA code, or PIN into the chat; reframe (“can you sign in?”, not “what’s your password?”). Don’t perform account or permission changes yourself — log a ticket and let a technician handle them through a secure channel.
- When to escalate — the conditions that send a ticket to a human, named concretely: the issue persists after basic checks, it needs configuration access, or it involves safeguarding or sensitive data.
- What to leave for the human — an internal note with what was checked, what’s still needed, and the suspected cause, so the technician has full context.
Tone and customer-facing language
For chat agents and any agent that messages end users, write for the reader — the end user, not your technicians — and control two things separately:- Voice — how it sounds: “Friendly, warm, plain language, no jargon. Brief over verbose.”
- What it may and may not claim — the part teams forget. Tell the agent not to imply work it didn’t do, not to commit to specific dates or ETAs, and not to expose internal process:
Keep it concise
Aim for the shortest instructions that fully capture your intent. Prefer a tight set of bullets over a long numbered playbook, and cut anything that restates a Neo default or pads the page. Most agents need about a page — a few thousand characters is a good ceiling for everyday agents. Long, sophisticated agents do exist — a senior-technician agent handling a whole queue might run to several pages of decision tables. That’s fine when every line earns its place. Length should come from real complexity, not from boilerplate.Advanced patterns
Once the basics are solid, these are the techniques Neo’s most advanced customers rely on. Reach for them when an agent’s logic is genuinely complex.Decision tables for multi-factor logic
Decision tables for multi-factor logic
When an outcome depends on two or more variables — queue × priority, business hours × severity — a small table is clearer to the model (and to you) than nested prose. List the conditions and the action for each row.
Name the model's failure modes and rule them out
Name the model's failure modes and rule them out
LLMs can talk themselves into almost anything. If your agent keeps rationalizing the wrong call, legislate against it in plain language. Power users write lines like: “The bar is ‘can the agent finish this end-to-end with no human needed’ — not ‘does this seem reasonable.’ If a technician has to do anything later, escalate instead.” Naming the failure mode is often more effective than adding another rule.
Disambiguate rules that interact
Disambiguate rules that interact
When two rules could collide, say which wins — explicitly. “The quiet-hours rule suppresses customer messages, but it does NOT stop escalation: if the ticket needs a human, hand it off regardless.” One sentence here prevents a whole class of wrong decisions.
State the why, not just the rule
State the why, not just the rule
A short rationale helps the agent generalize to cases you didn’t list. “Escalating a ticket that turns out simple costs little; failing to escalate one that needed a human costs a lot — so when in doubt, escalate.”
Re-run safety for agents that fire repeatedly
Re-run safety for agents that fire repeatedly
An agent that can trigger on its own notes can loop. Sophisticated setups stamp each note with a marker and tell the agent to check for a recent one before acting again — “if you’ve already processed this ticket in the last few minutes and nothing new has happened, do nothing.” If you build multi-step or multi-agent automations, design for repeat runs.
One persona across a fleet
One persona across a fleet
Running several agents on the same accounts? Give them a shared persona name so every note, time entry, and customer message reads as one consistent technician rather than a committee.
Let Neo draft them for you
You don’t have to start from a blank box. In the agent editor, two built-in tools write to these best practices for you:- Prompt Wizard — answer three short prompts (Objective, plus optional Procedures and Preferences) and Neo drafts complete instructions and recommends the tools to enable. It deliberately keeps them concise and tool-agnostic, exactly as above.
- Auto-Configure — already have instructions? It reviews and tightens them, suggests tools to match, and flags anything no tool can do.
Test, then iterate
Instructions are never one-and-done. The fastest way to improve them is to watch real runs:Start in test mode
Turn test mode on so the agent describes what it would do instead of doing it. Read those decisions against what you’d want.
Watch real executions
Review the agent’s runs in Event History — where did it hesitate, over-reach, or misread a ticket? Each miss points at a missing rule or an ambiguous line.
Refine one thing at a time
Add the rule that would have prevented the miss, then re-test. Small, specific edits beat rewrites. Neo can also learn from your feedback and suggest instruction refinements automatically.
Agents
What agents are and how they work end-to-end
Company Memory
Per-client rules that layer on top of your agent instructions
Skills
The built-in expertise your instructions sit on top of
Technician-in-the-Loop
Require human approval before sensitive actions
