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

Community site session details

Session Id :
Copilot Studio - Copilot Studio pre-built Agent...
Suggested Answer

Copilot Studio: Inconsistent execution when chaining two Dataverse tools (search + log) in an agent

(1) ShareShare
ReportReport
Posted on by 9

Hello Power Platform Community,

We’ve built a Copilot Studio agent that uses two Dataverse tools:

  1. Search Tool – queries a Dataverse table based on the user’s input.
  2. Log Tool – inserts a record into another Dataverse table to store the search details (query text, timestamp, etc.).

The agent and tools are configured so that:

  • The agent is instructed to invoke the Search Tool first, then the Log Tool.
  • The Search Tool is also instructed to invoke the Log Tool immediately after completion.
  • The Log Tool has instructions to run after the Search Tool finishes.

However, the behavior is inconsistent:

  • Sometimes both tools run correctly — the Search Tool returns results, and the Log Tool logs the query.
  • Other times, the Log Tool is not triggered at all.
  • Occasionally, the Search Tool fails to return results.
  • In some runs, the Log Tool incorrectly prompts for inputs that should be automatically passed from the Search Tool.
  • It can even alternate between working and not working (e.g., runs fine on the first query, fails on the second, then works again).

Has anyone experienced similar reliability issues when chaining multiple Dataverse tools in an agent?

Is there a known limitation or timing issue with tool-to-tool invocation in Copilot Studio?

Any suggestions, best practices, or troubleshooting steps would be greatly appreciated!

 

I have the same question (0)
  • Michael E. Gernaey Profile Picture
    52,851 Super User 2025 Season 2 on at
    Copilot Studio: Inconsistent execution when chaining two Dataverse tools (search + log) in an agent
     
    While I have not, I am super super super super... ummm the A word, when it comes to my instructions
     
    So it would be interesting to see your literal instructions, description and your tools and their descriptions (which can cause issues)
     
    If you are able to share pictures that is.
  • Suggested answer
    S-Venkadesh Profile Picture
    861 Moderator on at
    Copilot Studio: Inconsistent execution when chaining two Dataverse tools (search + log) in an agent
     
    I tested your Agent scenario using two tools:
    • Tool 1: Get Student from Dataverse table
    • Tool 2: Add Marks — in this tool, I added the related column in the Inputs section with a description (refer to the screenshot).
    I was able to get the expected output ((Refer Screenshot #3) by following these guidelines:
    • Keep instructions directive and action-oriented with Tools. (Refer Screenshot #1)
    • Add a short description for each tool to clearly explain its purpose.
    • Include a relationship field in the Inputs section with custom instructions, so the Copilot understands dependencies between tools. (Refer Screenshot #2)

       
    Screenshot #1
    Screenshot #2
    Screenshot #3
  • BG-03111407-0 Profile Picture
    9 on at
    Copilot Studio: Inconsistent execution when chaining two Dataverse tools (search + log) in an agent
    Hello @S-Venkadesh,
     
    Thank you for your response.

    Could you please elaborate on this point:

    “Include a relationship field in the Inputs section with custom instructions, so the Copilot understands dependencies between tools.”
    (Referenced from Screenshot #2)

    I’m not seeing any option called relationship field in my Dataverse tool configuration.

    I’ve attached a screenshot of our Dataverse tool setup.
    We are currently passing the column names, and in Filter Rows we are passing instructions to generate the OData filter.
    Additionally, we have added instructions at the agent overview level to always trigger dv-tool2 after dv-tool1.

    Could you guide me on where exactly this “relationship field” should appear or how it is configured?

  • Suggested answer
    S-Venkadesh Profile Picture
    861 Moderator on at
    Copilot Studio: Inconsistent execution when chaining two Dataverse tools (search + log) in an agent
     
    When designing your Dataverse table structure, make sure to create Lookup columns correctly, as this automatically establishes relationships between tables.
    In my example -
     Marks table has a lookup column named Student, which is related to the Students table. This help Copilot understand these dependencies between tools:


    “Include a relationship field in the Inputs section with custom instructions, so the Copilot understands dependencies between tools.”

    Tool Setup
    1. Microsoft Dataverse – Add a new row (Create record)
    • In the Inputs section, ensure the lookup column (e.g., Student) is added.
    • Set it to “Dynamically fill with AI” so the agent knows this action depends on an existing Student record.
    2. Microsoft Dataverse – List rows
    • The Inputs section will show the lookup relationship structure clearly.



    I hope this information helps! If it does, please consider giving a 👍.
    Best regards,
    S-Venkadesh
     

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

Coming soon: forum hierarchy changes

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Copilot Studio

#1
Romain The Low-Code Bearded Bear Profile Picture

Romain The Low-Code... 321 Super User 2025 Season 2

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 252 Super User 2025 Season 2

#3
S-Venkadesh Profile Picture

S-Venkadesh 93 Moderator

Last 30 days Overall leaderboard