However all these plugins/integrations only use one set of client keys.
For instance, with the Hubspot plugin, I can only put in MY hubspot keys. But if I wanted to offer that integration to a user, they cannot use their own keys.
I understand that I can create a masterapp-subapp model to get around this–but that can get prohibitively expensive for a simple SaaS project with low pricing.
Is there a way to offer plugin functionality to the end user and their accounts? Or would a custom, platform plugin version be required for each integration?
You can.
The first thing is to consider the use of oAuth2 Working with OAuth
If the API doesn’t offer you or the oAuth2 cannot work for your needs, you need to consider storing API key in DB and call them manually in each call. You will se none / self-handled for authorization and set correct header or url key according to API doc.
So you can use API Connector and in some case, plugin will have oAuth2 set.