Crafting Effective Instructions for Copilot Studio Agents

IfĀ you’veĀ spent any time building agents inĀ Agent Builder,Ā Copilot StudioĀ or even MicrosoftĀ Foundry, youĀ mayĀ have noticed that the quality of your agent lives or dies by the instructions you give it.Ā Not just what you give it, but how good they are too.Ā 

I’ve seen a bunch of agents over the past 12 months, where the instructions section gets the least attention (I’ve 1000% been guilty of this too). We can spend hours wiring up connectors, configuring topics & marvelling at what MCP servers can do… then throw three lines of text into the instructions box and wonder why the agent goes rogue šŸ˜†Ā 

This post covers whyĀ Copilot StudioĀ agent instructionsĀ reallyĀ matter, andĀ introduces a frameworkĀ I’veĀ built to help keep me honest.Ā I hopeĀ you’llĀ be able to use the frameworkĀ to help you in future.Ā 

I wonder sometimes if instructions have become the modern-day documentation; itĀ canĀ get left toĀ the end (if at all), then half-arsed to get a project closed off.Ā Ā 

We need to think ofĀ Copilot StudioĀ agent instructions asĀ theĀ operating system. Every response it generates, every decision it makes about what to say or not say, every time it decides whether to escalate or keep going – most ofĀ that flows from the instructions you write.Ā 

Without clear instructions, the agent fills in the gaps itself. And it will fill them,Ā but maybe not always the way you or your users want.Ā 

I’veĀ increasingly foundĀ that I need to instruct agents like I instruct my 10yr old, highly neuro-spicy daughter. If my instructions are vague or lacking clarity,Ā she’llĀ get confused, make incorrect choices andĀ probably kickĀ off for good measure. If I articulate clearly, inĀ structuredĀ chunksĀ that leaves no stone unturned,Ā the outputs areĀ easier for her toĀ determineĀ and achieve. The result isĀ a happy household with no YouTubeĀ or iPadĀ bans in sight.Ā 

From an agent perspective, that 10yr old daughter becomes a solution with 1 or even multiple agents.Ā 

In aĀ single agent architecture, the blast radius of poor instructions is containedĀ to some extent. Your agent gives a vague answer, goes off topic,Ā misreadsĀ contextĀ orĀ fails toĀ escalate when it should.Ā Annoying, but easier to manage and resolve.Ā 

Multi-agent architectureĀ is whereĀ theĀ impact can be magnified, as agentsĀ areĀ orchestratingĀ other agents. An orchestrator with weak instructions passes ambiguous context downstream.Ā ChildĀ or connectedĀ agents with no constraints interpret that context however they see fit. One weak linkĀ can cascade throughoutĀ andĀ be difficult to trace or debug.Ā 

Invariably, the fix is quite simple: better instructions.Ā 

Copilot Studio agent instructions example

Examples I've seen

Here’sĀ some examples ofĀ Copilot StudioĀ agent instructions at different quality levels:Ā 

What I see a lot:

You are a helpful assistant. Answer questions about our products. Be professional.

Be professionalĀ shouldĀ go without saying.Ā I’mĀ sure loads of us have built a funny agent toĀ speakĀ like Borat or a pirate, but for real world scenarios we obviously need it to be professional.

Better, but still missing critical pieces:

You are a product support assistant forĀ Contoso. Help customers find the right product and answer questions about features, availability, and compatibility. Always be polite and professional.ā€

Definitely an improvement, but some gaps remain.

Taking it up a few levels:

ā€œYou are Cora, the product support assistant for Contoso’s retail division. YouĀ representĀ the Customer Success team.Ā 

Your goal is to help customersĀ identifyĀ the right product for their needs without requiring human intervention. Where possible, resolve queries at first contact.Ā 

You have access to the Contoso Product Catalogue, updated monthly. Always use this as your primary source. If you cannot find the answer, tell the customer clearly and offer to raise a support ticket. Do not guess.Ā 

Never discuss pricing, promotions, competitor products, or pending product releases. If a customer raises a complaint or requests a refund, transferĀ immediatelyĀ to a human agent; do notĀ attemptĀ to resolve it yourself.Ā 

Write in plain, friendly English. Keep responses concise. Use bullet points for comparisons or step-by-step answers. If a customer seems frustrated, acknowledge their issue before you respond.ā€

The first exampleĀ gives the agent almost nothing to work with.Ā It’llĀ answer questions, but with no guardrails and noĀ realĀ identity,Ā it’sĀ essentiallyĀ beingĀ left to its own devices.Ā Ā 

The last exampleĀ tells the agent exactly who it is, whatĀ it’sĀ trying to achieve, what data it uses, what it must never do and how it should sound. The differenceĀ in effort andĀ subsequentĀ agent output/performance can be significant.Ā 

It alsoĀ follows the ROCKET framework I now use for crafting effective agent instructions.Ā Ā 

šŸš€šŸš€šŸš€šŸš€

Introducing the ROCKET framework

I know I’m not the only one who’s built some crappy agents that don’t hit the mark. I’ve seen quite a few too! It’s expected, new technology, new techniques – it takes a while for all of us to find what does and doesn’t work.

(Well, I say new technology, it’s not that new if you’ve been around since the Power Virtual Agents days.)

I like a good acronym to help me remember stuff,Ā soĀ IĀ decided to put togetherĀ ROCKET:Ā a six-dimension framework for writingĀ Copilot StudioĀ agent instructions that are structured and production-ready.

In the UK, we have a saying – ā€œstick a rocket under someoneā€.Ā It’sĀ a light-hearted way of saying someoneĀ (or in this case,Ā something)Ā needs motivating to do something faster or better, with more enthusiasm and energy.Ā It’sĀ the true inspiration for the frameworkĀ and exactly what our agents need.Ā 

Each letterĀ of ROCKETĀ covers a dimension of yourĀ agentĀ instructions. Miss one and your agentĀ could have a gap. CoverĀ all six,Ā andĀ you’veĀ got an agentĀ that’sĀ got half a chance at being a hit with users.

ROCKET breakdown

Here’sĀ what each one means in practice:

R = Role:

Give your agent aĀ personality. Not just “helpful assistant”, butĀ a named personaĀ that’sĀ aligned to a specific use case, explicitlyĀ representingĀ a team or function.Ā I’veĀ found this isĀ a greatĀ wayĀ to anchor your agent from the get-go.

O = Objectives:

Define outcomes, not tasks. “Answer questions” is a task. “Resolve customer queries at first contact without human intervention” isĀ an objective. The distinction matters becauseĀ it canĀ shapeĀ howĀ the agent prioritises when situations get ambiguous.

C = Constraints:

These are your guardrails. Explicit topic exclusions, defined escalation triggers, behaviour for unknown topics. “Use common sense” is not a constraint – most humans I knowĀ don’tĀ have any common sense soĀ probably notĀ the best instruction for an agentĀ šŸ˜†.Ā I’veĀ also found that my most successful agentsĀ aren’tĀ just told what they should do, but also what theyĀ shouldn’tĀ do. Give it some boundaries.Ā 

K = Knowledge:

Grounds the agent in actual data. Name your sources, state how current they are,Ā andĀ critically,Ā define what the agent does when itĀ can’tĀ find the answer.Ā All good agents need graceful fallbacks.Ā 
And yes, I know we add knowledge to agents as standard. You can use this part of the instructions to help prioritise sources depending on answers, for example.

E = Execute:

Covers your tools,Ā actions, child flows etc, and what scenarios should invoke what. List the capabilities available to the agent, define the conditions that trigger each one, and spell out what happens when something fails. “Use the booking tool when relevant” is not execution guidance.Ā 

T = Tone:

This goes beyond “be professional”.Ā Specify the writing style, the response format, the reading level, and how the agent handles frustrated or emotional users. Tone shapes the entire user experience, so canĀ benefitĀ fromĀ more than a single line.

ROCKET scoring

Having crafted that framework, I now throw my Copilot Studio agent instructions at various AI tools & models and ask for them to be scored.

I’ve come up with some simple scoring logic, with the aim that I can score at minimum a 15.Ā 

Each dimension can score 1 – 3:

ā° 1 – Lacking: Missing or critically incomplete.

āš ļø 2 – Partial: Present but vague or with gaps.

āœ… 3 – Complete: Fully defined, specific.

Therefore, total possible achievable score for agent instructions is 18. Here’s the overall scoring outputs:

Score: 6-7:
ā° “Houston, we have a problem. Do not launch.

Score 8-10:
šŸ› ļø Rocket grounded. Still in development.

Score 11-14:
🚦 On the launchpad. Almost there.

Score 15-18:
šŸš€ WE HAVE LIFTOFF. Production ready.

Go back to those three instruction examples above and score them.Ā ExampleĀ 1 scores a 7 at best.Ā ExampleĀ 3 comfortably hits 15+. That gapĀ can be the difference between a waste of time andĀ aĀ working, well-adopted agent.

Please note, ROCKET isn’t the definitive answer to Copilot Studio agent instruction quality. It’s a starting point really, but one I’ve found useful so thought I’d share it.Ā 

Different organisations, use casesĀ andĀ agent architectures will demand different things. A customer-facing retail agent needs different constraints to an internal HR assistant. A single-purposeĀ childĀ agent in a multi-agent workflow needs different execution logic to a generalist orchestrator.Ā I hope thatĀ ROCKETĀ can giveĀ you theĀ foundationĀ of good agent instructions. You can build from there.Ā 

Use the ROCKET skill

I’veĀ created the framework as a skill that you can use with Claude, VS Code etc.Ā Throw your Copilot Studio agent instructions at the skill, either as YAML or text, and it will give you an assessment. It’llĀ scoreĀ themĀ using the logic above and offer recommendations for improvement. You can alsoĀ ask for a template set of instructions using ROCKET that you can copy straight into your agent.Ā If you want to start using it,Ā head over to my GitHubĀ to find it.

Thanks to those who’ve already tested this out and provided feedback!

ROCKET skill output for assessing Copilot Studio agent instructions

In my experience so far,Ā agents that fail in production almost never fail because of a missing connector or a broken flow. They fail because nobody took the time to properly tell the agent who it is, whatĀ it’sĀ supposed to do, and just as importantly,Ā what it must never do.Ā 

Stick a ROCKET underĀ yourĀ Copilot StudioĀ agent instructions and watch it fly.Ā 

Thanks for reading. If you liked this article and want to receive more helpful tips about Power Platform / Agent governance, build & architecture, don’t forget to subscribe or follow me on socials 😊

What do you think?

Your email address will not be published. Required fields are marked *

1 Comment
  • Wayne
    April 21, 2026

    If you’re building AI agents, read this! This nails a truth we don’t talk about enough – your agent is only as good as the instructions YOU give it. The ROCKET framework is sharp, practical, instantly usable, but most of all memorable! Simple idea, huge impact, well executed – nice one Craig!