How to implement an Integration to sync with multiple accounts?

I am creating a Fibery integration with Zoho CRM, but I need to integrate multiple separate instances of Zoho CRM, each with different login credentials. All will be linked to the same Fibery DB’s in one Space.

One Fibery Workspace ↔ Many Zoho accts (in one integration)

I imagine I might need a button somewhere for “Add another Zoho account to this integration”. Or perhaps use token-based Zoho access instead of OAuth.

I only need to pull data in from Zoho – no two-way sync.

What is the best way to accomplish this?

Hello, @Matt_Blais

It is not possible to add another account to integration. This feature in our roadmap, but I can not say when it will be implemented.

However you can implement special account type for your connector, so your connector itself will combine data from multiple user hosts. Please note: OAuth will not be available to use for this case.

The special control type inputsList can be used to provide multiple tokens for many hosts.

"authentication": [
    {
      "id": "multi-tokens",
      "name": "Multi Token Access",
      "fields": [
        {
          "type": "inputsList",
          "name": "Tokens",
          "description": "Provide tokens to have data from many accounts",
          "value": [],
          "items": [
            {
              "id": "host",
              "label": "Host"
            },
            {
              "id": "token",
              "label": "Token"
            }
          ],
          "id": "accounts"
        }
      ]
    }
  ]

Add account page will look like

In the code the value of this field will be represented as string with serialised array like this:

So it will be needed to parse string value to json.

Thanks,
Oleg

2 Likes

I think it will make more sense in this instance if I implement it differently. Can you say if there would be any issues with this approach –

  • In my the integration Space, there will be a DB to hold all the auth info (username and password) for every Zoho account I need to integrate.

  • My integration app will read this info and make all the Zoho connections, and combine the data from them all. This will be integrated into Fibery with an extra field in each DB to identify which Zoho acct was the source for each entity.

@Matt_Blais

It works if you are going to use the integration only for youself.

I don’t recommend to store non-encrypted user credentials in your Fibery space database as is. User credentials can be encrypted and stored in the same network with your integration app or on the same machine with your integration app and should not be accessible from outside. On our side account data are encrypted and only user provided account can have access to it.

One more thing is how the access to your integration app will be protected since it will be available publicly. Is it supposed to protected your app with some additional password or token in order to disable access to your data?

Thanks,
Oleg

@Oleg:

I plan to restrict access to the integration’s Space to only the Fibery Users who already have all this Zoho account login info. This is acceptable for this case, because it is also only these Users who need to access any of the integration’s data.

RE: protecting access to the Integration app – is my situation different from any other Integration app?