My agent (using Reasoning model) is able to successfully dynamically fill the content needed (URI and Method) to make REST API requests using the Salesforce "Send an HTTP Request" connector tool. This is superior over an agent flow and tool node as it enables the agent to use the tool more than once if needed, to make multiple requests for a single message.
I have it set up in the instructions to collect data from the Salesforce knowledge connector to aggregate all the needed details. (it seems to have more success getting details en masse with the knowledge base than with tool calls.) Then, for changes, I have it switch to the HTTP tool.
E.g., "What's going on with case 0022139?" makes multiple requests to gather multiple fields, taking into account multiple different items returned by different queries; including separately re-querying the OwnerId field since the human-readable name does not return with a regular Case details request. So, the final output is detailed and very well done.
But... here's the issue. For everything other that HTTP GET requests, a request body is needed. The Salesforce tool does not allow the value type to be anything other than "File." In practice, if the Body field is present in the connector configuration, that presents as the agent prompting the user to upload a file for the body in the chat in order to be able to continue. If the Body field is omitted, only GET requests can be made, and other methods will fail.
The connector seems to follow the format of a custom REST API tool, as seen here: https://learn.microsoft.com/en-us/microsoft-copilot-studio/agent-extend-action-rest-api?source=recommendations
Notably, changing the file type is supported.
The documentation on Microsoft's end shows that the body content type needs to be binary. Seen here: https://learn.microsoft.com/en-us/connectors/salesforce/#send-an-http-request
So... it seems that this hurdle isn't a Salesforce limitation, but a "Microsoft's own connector" limitation.
If this connector could be changed to allow body content in other formats, this would be so extremely useful for my organization, and many others as well, I'm sure! It would allow the agent to write its own body content, custom to each query, dynamically, based on content in the chat... so very useful.....
Just in case, pre-emptive responses:
"just use the other HTTP connector(s)!" Well.. only one header field is available. That means I can't include Content-Type which is required. As well, if using an external connector, I would need to add an Authorization header, so... not enough headers!
"tell Microsoft, not us!" Well, I want to check first that I'm not somehow completely missing something obvious that everyone here will be able to tell me and fix my issue! That's not out of the question! :) Plus, community support for a request tends to make things move a bit faster, yes?

Report
All responses (
Answers (