I started to create Recruitment Agent from the beginning. First you need to give all the description and instructions to the Agent. Then there is need to get the knowledge sources for the Agent to query for the Job Positions, Organization Framework and Knowledge Base about the job positions. I created these tables and model-driven app for them in previous post.

Dataverse tables need to be separate knowledge sources

First I added all the Dataverse tables into a one knowledge source. When giving the instructions for the knowledge source, I noticed that these tables contains totally different data. They all need to be separate knowledge sources.

Adding Dataverse tables to knowledge source for Copilot Studio Agent
Adding Dataverse tables to knowledge source for Copilot Studio Agent

Maybe not good idea to add these into the same knowledge source but separately and then give proper descriptions what these knowledge sources contains. Maybe some instructions for the Agent for the AI to understand when to use this knowledge source.

Describing knowledge source for the Agent
Describing knowledge source for the Agent

Be sure to put synonyms and descriptions for each meaningful column in your table. You can use Copilot Chat to enrich the metadata for your Agent like instructed in earlier post.

Enrich metadata for Dataverse table
Enrich metadata for Dataverse table

Now when trying my Agent in the test view, it can get me the open job positions I have added earlier in the solution.

Agent replying open job positions when asked about them
Agent replying open job positions when asked about them

Then it was time to take the CV file from the applicant. I did not read any instructions, I just started to implement new Agent Flow.

Creating new Agent Flow
Creating new Agent Flow

How wrong was I

I was thinking that it works like a charm if the UI allows me to give files as parameters

Agent Flow that takes files and saves them into Dataverse table
Agent Flow that takes files and saves them into Dataverse table

But then I faced error saying that Agent Flow could not take file as parameter. At least not from Agent. Why why why…

Unfortunately, file uploads are not directly supported as input parameters when calling a flow from a Copilot Studio agent.

flowActionBadRequestThe parameter with name 'file_1' on flow 'Add files from applicant to Dataverse' ('e6abc016-0450-f011-877b-7ced8d40e1b6') is declared to be of type 'UnspecifiedDataType'. This type is not supported when invoking Power Automate. Currently, only Text, Boolean and Numbers are supported.
Error when trying to pass files to Agent Flow from the Agent with AI orchestration
Error when trying to pass files to Agent Flow from the Agent with AI orchestration

With above solution the AI orchestration would send the files by itself to the Agent Flow. I just described it good enough and it did all the work. But not yet supported…

I need to find a workaround

Please see next article about how to send file from Copilot Studio Agent to Agent Flow. This solution needs a bit more work and topic for the discussion.