I've created a custom connector that works perfectly from the Test tab, from Flow, and also from Postman. It doesn't work from within PowerApps, resulting in a 404 Resource Not Found error. After plenty of searching and investigation, here's what I've found.
PowerApps include an extra step that the Test tab does not take into account. While the Test tab sends a GET HTTP request directly to the connector/API to prove it's functioning properly, PowerApps performs a POST to "invoke" first, which in turn sends the GET HTTP request to the connector/API. The POST includes several "x-ms-" fields, but the issue lies within "x-ms-request-url". This field contains the url to the connector/API, and that url is being percent-encoded by PowerApps. For example, single quotes are replaced with %27, left parentheses with %28, and right parentheses with %29.
The connector is expecting /lists/getbytitle('Documents') for example but instead is receiving /lists/getbytitle%28%27Documents%27%29, which results in the 404 error.
To prove the issue lies specifically in the unwanted encoding of x-ms-request-url, I performed the same failing POST as PowerApps using Postman and received the same 404 error. Within Postman, I modified x-ms-request-url by eliminating the percent encoding and received the expected 200 response with valid results.
I'd suggest that either PowerApps avoid encoding the url in x-ms-request-url, or the connector/connection be modified to gracefully accept the percent encoded url. I would love to see this one get fixed in the near future so REST API's with parentheses are fully supported. Or, clearly document that is not/will not be supported. Of course, if such documentation already exists please post the link for anyone that may be interested. Thank you.