web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Copilot Studio
Answered

Topic best practice

(2) ShareShare
ReportReport
Posted on by 61
Hey, I have created a custom topic in my Copilot Studio agent. The topic is structured as follows:
 
Trigger: when a response has been generated  
Action: if the citation is empty, create a Planner task and end the topic  
Action: refine the response and remove the citation  
Action: if the call is automatic, respond by email  
Action: if the call is via chat, respond in chat
 
Would you consider this topic too complex?
 
Thank you for your support
I have the same question (0)
  • Verified answer
    11manish Profile Picture
    3,745 on at
    Based on your description, the topic is not excessively complex, and if it's working correctly, there's no immediate need to redesign it. However, from a solution architecture and long-term maintenance perspective, it's generally better to keep each topic focused on a single responsibility. Separating validation, response formatting, and channel-specific delivery into smaller, reusable components will make the solution easier to maintain, troubleshoot, and extend as your Copilot Studio agent evolves.
  • SK-01091159-0 Profile Picture
    61 on at
    Thank you. 
     
    Can you please give a short overview how you will set up the architecture
  • Verified answer
    trice602 Profile Picture
    16,409 Super User 2026 Season 1 on at
    Hi there!
     
    I wouldn't say the topic is too complex, but I would question whether a Topic is the best place for that logic.
     
    In modern Copilot Studio, Topics are increasingly used for conversational scenarios, while post-processing actions such as checking citations, creating Planner tasks, and routing responses are often easier to manage in Agent Flows or Power Automate.
     
    The channel-based branching (email vs. chat) is fine, but the citation validation and escalation workflow feels more like orchestration logic than conversational logic.
     
    For maintainability, I'd consider moving the Planner/escalation portion outside the Topic and letting the agent focus on generating the response.
     

    ------------------------------------------------

     

     

    ⭐ If this was helpful, please like and check the box below "Does this answer your question" to help others find this too!

     

     

    Always glad to help! 💯💯💯💯💯

     

    Tom

     

    Follow me on LinkedIn - Thomas Rice, PMP | LinkedIn

  • Verified answer
    Valantis Profile Picture
    6,939 on at
     
    Here's a concrete architecture suggestion.
     
    Split the current topic into three pieces:
    1. Keep the "When a response has been generated" system topic as the entry point, but make it lightweight. Its only job: capture the response and citation, then call an Agent Flow.
    2. Agent Flow (handles orchestration):
     - Check if citation is empty → if yes, create Planner task and return a flag
     - If citation exists, refine the response (strip citation formatting)
     - Return the cleaned response + the empty-citation flag back to the agent
    3. Back in the topic, two Send message nodes branching on channel:
     - Check System.Channel or a variable you set from the flow output
     - Email path → call the email action
     - Chat path → respond in chat
     
    This way the topic only handles what it should: conversation flow and channel routing. The validation and escalation logic lives in the flow where it's easier to debug, update, and reuse across other topics if needed.
     
    The key principle: topics handle conversation, flows handle business logic.
     
      Best regards,

    Valantis   ✅ If this helped solve your issue, please Accept as Solution so others can find it quickly.

    ❤️ If it didn’t fully solve it but was still useful, please click “Yes” on “Was this reply helpful?” or leave a Like :).

    🏷️ For follow-ups  @Valantis.

    📝 https://valantisond365.com/ 💼 LinkedIn ▶️ YouTube
  • SK-01091159-0 Profile Picture
    61 on at
     

    Thank you. I find it very exciting to see what is possible with Agent Flows.

     

    I have a few governance-related questions about this.

     

    Should I create a trigger in the agent, or is it better to create an action in the Agent Flow and then use the “Run an agent” action?

     

    Is it better to use many small Agent Flows, or one large flow with IF or Case branches?

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Copilot Studio

#1
sannavajjala87 Profile Picture

sannavajjala87 160 Super User 2026 Season 1

#2
11manish Profile Picture

11manish 145

#3
Haque Profile Picture

Haque 121

Last 30 days Overall leaderboard