Notifications
Announcements
Hello Community,
I am working on a solution to automate the testing and optimization of my Copilot Studio agents. My goal is to build a workflow that programmatically retrieves the bot's "General Instructions," uses a LLM to suggest improvements, and then updates them.
To do this, I first need to reliably locate and read the main "General Instructions" from the underlying Dataverse tables.
Based on my research, I expected to find these instructions within the botcomponent table. I have performed the following steps:
botcomponent
Located the correct bot in the bot table to get its botid.
bot
botid
Queried the botcomponent table, filtering for records matching the _parentbotid_value and, specifically, looking for a record with componenttype = 18 (which I believe corresponds to "Copilot Settings").
_parentbotid_value
componenttype = 18
Despite this, I am unable to find a record that clearly contains the main bot instructions in its content column. I've inspected several component types but haven't found the right one.
content
Could someone please confirm if this is the correct method? Any guidance on the correct table, column, and filters to use would be greatly appreciated.
Thanks!
Thank you for taking the time to look into this! I really appreciate the effort.
You mentioned you found an actual "instructions" column. That's a very promising lead!
Could you please let me know in which Dataverse table you found that specific column? I'd be happy to try and read the full data from a flow to see if the content is accessible there.
Thanks again for your help!
Yes, figured it out after some digging. The instructions for a Copilot are stored in the botcomponent table (display name: Copilot component).
Table: botcomponent (Copilot component)
Row: Look for the one where the componenttype is 'Custom GPT'.
componenttype
Column: The instructions are inside the column named data (its display name is "Obi Data").
data
Just a heads-up: the content is in "OBI format" and you can't access or modify it directly with Power Automate, unfortunately.
However, you can find the raw data within an exported solution. After unzipping the file, navigate to the botcomponents folder and look for a subfolder whose name ends with .gpt.default. The instructions are in the data file inside that folder.
No worries at all, glad I could save you the trouble. I'll definitely think about sharing this in a blog post, thanks for the idea.
Cheers and take care.
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.
In our never-ending quest to improve we are simplifying the forum hierarchy…
We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Michael E. Gernaey 261 Super User 2025 Season 2
Romain The Low-Code... 230 Super User 2025 Season 2
Sam_Fawzi 84 Super User 2025 Season 2