Why Does the SDK Not Allow Specifying a Specific Account When Multiple Accounts Are Connected Under One External User?

This topic was automatically generated from Slack. You can find the original thread here.

I previously reported an issue where, if multiple accounts are connected for the same app under one external user, there’s no way to choose which account to use when running a tool. The SDK only lets you specify the external user and the app, not the specific account.

Because of this, I’m forced to create a separate “external user” in Pipedream for every account a single user wants to connect, even when they’re the same person. This is frustrating, since you bill by the number of external users, which means I’m getting charged more than I should just to work around this limitation.

To make matters worse, your product does allow connecting multiple accounts of the same app to a single user. However, it just doesn’t let me select the specific account when running an action, just the action id and user. This feels inconsistent and creates unnecessary overhead and cost.

Why are you connecting multiple accounts from the same app for one user?

users sometimes have multiple google accounts, for instance

or maybe a user wants to connect two notion accounts to build manual synchronization between both

Got it, the idea for additional users is billing for each user + their apps combination, not sure if having multiple accounts for the same app was thought of, I’ll check with the team

I understand the point, but it’s an inconsistency that seems overlooked. I can create two different accounts for the same app and user, yet I can’t use it.

Yeah I gotcha, not sure if that was even expected too

The issue is that, since my app does support multiple accounts for the same app and user, I am now forced to register every new account as a completely different “external user” for Pipedream (because using the same one does work properly). This workaround is costing me money because of how pricing works on Pipedream.
Now, if the same user adds 4 different accounts, even for different apps, I am forced to register it as 4 different external users, just to be able to support it

I think that the specific connected account is specified under configuredProps -

configuredProps: {
  [appTypePropName]: {
    authProvisionID: "apn_xxx"
  }
}

I totally have tested actions with the same external user and the same app and have created multiple connections for the same ones

I see, so it is fixed?
I remember asking about this a few months ago where you said you would take a look and never got an answer back

oh yeah that is correct

The apn is the user auth provision, you can find it when you click on each of the the Gmail icons in your Users tab

yeah I got the apn stored, I can definitely use that

if that’s fixed it’s great!

Yea, that’s been the case from the start — you’ve always been required to pass the account ID as part of the configured props object.

Personally in terms of api design I would expect the connected account id to be specified outside the configurable props alongside the external user id (or even in place of the external user id, why do you even need it, if you already have the connected account?)