Typically, your end-users connect their third-party app accounts when they're setting up an integration in your app. When the end-user clicks on a Flow in your application, they have to first connect their accounts for the apps that are a part of the Flow, then setup the Flow. An application could be a part of multiple Flows. That means, your end-users would have to connect their accounts for the same application used in different Flows.
Let's say, your end-user wants to sync data between Google Sheets, Todoist, and Slack. For the sake of an example, the Flow is, "If a row is added to Google Sheets, create a task in Todoist and send a message on Slack."
The same end-user also wants to sync data between Google Sheets and Mailchimp. For example, "Whenever a customer's name, contact, and email address is added to the Google Sheet, a contact should be created in Mailchimp."
Your end-user would have to connect their Google account separately for both Flows.
To avoid this hassle, we have now introduced a feature in our SDK that enables your end-users to manage their app accounts separately and set up integrations later.
When your end-users will visit the available integrations or Flows in your application, they'll see an 'Add Account' button using which they can add all their accounts first. Since the SDK is customisable, you can choose to place the button anywhere you like.
We recommend you to update your help documents and educate your end-users about this feature.
Managing App Accounts Independently
In this article, we'll take an example of Doneday application and demonstrate how to manage app accounts irrespective of an integration.
Step 1: Go to the app's Integrations section. Here you will see the list of all the available Flows. In case of Doneday, you can find a button 'Add Contacts' in the bottom right corner. Click on the button.
Step 2: A modal window will show up where you'll see all the apps used in the available Flows. You can connect your account by clicking on the app's logo or searching for the app in the search bar, shown above.
Step 3: As you'll click on an app, you will be redirected to the app's authentication screen, where you'll be asked to authorize your app account.
Note: Your end-users will be prompted to authorize themselves depending upon the authorization method you have configured for the selected app in Integry. For example, if you have configured OAuth2 method for the selected app, your end-users will be asked to authenticate themselves and allow access to their account. Similarly, if the authentication method for an app is API Key, the end-users will be asked to enter their API Key. If you've configured multiple auth types for an application, your end-users will be asked to select an auth type to authenticate their account.
After receiving the authentication information, the SDK verifies it and shows a success prompt with the message shown above. Click OK to continue.
Step 4: When you'll open a Flow that uses the app for which you connected your account externally via the 'Add Account' button, you'll see your account listed in the first step already, shown above.
You can delete an account from the Integration set up. Hover over your connected account and click on the Delete icon, shown above.