It’s not uncommon to require your Copilot Studio agent to “log” the user it’s interacting with. So in today’s post, we’ll see 2 ways how our Copilot Studio agent can enter the correct data in Dataverse.
No flows, just the power/importance of instructions.
1 – Detailed instructions (preferred)
Dataverse expects specific format(s) when it comes to logging a Person field.
Below is one of them:
/systemusers(<USER_GUID>)
We can create an Agent flow to fetch the GUID, format the way we need, and send it back to the Copilot agent. BUT, we said NO flows, and we can also do it all within the agent itself 🙂 With a couple of connectors and carefully crafted instructions, we’ll patch that user.
For this demo, we have 2 tables:
- Company Events
- Participants
In the Participants table, we have a field called “Attendee” which is a lookup to the Microsoft EntraID table.
When having a conversation with the Copilot agent and asking to register for the Company event, we want the agent to “patch” the user into the Attendee field.
So first, we’ll add the List rows in selected environment (Dataverse connector) as a Tool.

💡 Just for completeness, I’ve added a “List rows…” as well for the Company Events table when users request information about the events. However, this doesn’t impact how we retrieve the UserGuid.
Next, we want to “Add a new row…” into the Participant table with the Attendee value being the user who’s interacting with the agent.

And going back to the Overview page, we’ll give precise instructions.

Now when we test, the user is successfully added ✅


2 – Less instructions (risky)
Can it actually be possible?? Yes. But the outcome is very uncertain.
Here we trim down the specific instructions, but we keep the same connectors. So it might work (like below)



⚠️ OR NOT! Because the agent hasn’t appended the USER_GUID.

Error Message: The connector ‘Microsoft Dataverse’ returned an HTTP error with code 400. Inner Error: URL was not parsed due to an ODataUnrecognizedPathException. Resource not found for the segment ‘<USER_GUID>’ provided in the URL
📌 Like most things, we can achieve a goal in many different ways. However, the clearer and more precise your instructions are, the better the results.
When using AI, prompt engineering is extremely important, so you can spend more time focusing on the desired outcome rather than fine-tuning endlessly.
Thanks for reading! 🙂