Using 3rd party API to manage users and profiles

Hi there, new to Adalo and loving the approach.

I have a 3rd party API that I have set up and want to manage users and their associated profile information through this API (rather than the built in Users collection). Is this possible?

I can’t immediately see a way of associating specific fields from my 3rd party API with logged in users without having to create internal collections. Basically the workflow would be:

  1. User logs in using email and password
  2. Credentials get passed to my 3rd party API
  3. Once user is logged in, 3rd party API calls can be added to retrieve that users specific user information (Company, projects, anyotherinfo)
  4. The responses of these 3rd party API calls can then be used as magic fields within text and list and custom list fields

Is this even possible at this stage or am I missing something?

Any help appreciated!

Cheers

Ben

1 Like

@benmorris Hi Ben, it is currently not possible to use 3rd party user management. This seems to be on the roadmap, at least for login with Google, Facebook etc. The problem currently is that we cannot use response of an API, except in External collections, such as Airtable tables.

Thanks @karimoo I suspected as much. I’m so close to the dream of a no-code back end and front end, but just not quite there yet!

Aside from using a 3rd party connection to manage users, is there a way to use the built in collection to manage users and still have user specific data pulled in via a 3rd party API?

@benmorris You can pull 3rd party user specific data based on the email address. But there is no relation possible between internal and external collections. Meaning you have to manage the relation by setting the filters on the external collections. Which is like the standard way in relational databases. Just does not offer the convenience of relations in the Adalo DB.

Thanks for your help, makes sense I think. Just to clarify…

For example, I’m able to return the results from a 3rd party API as such (using the Get All method):

[
{
    "id": "SWN_CP_1",
    "name": "",
    "supply": {
        "supplyQuantity": null,
        "available": null
    },
    "demand": {
        "occupancyQuantity": null
    },
    "address": {
        "latitude": null,
        "longitude": null
    },
    "Rates": {
        "RateMatrix": []
    }
},
{
    "id": "OXF_SMP_111",
    "name": "St Michaels Street",
    "supply": {
        "supplyQuantity": 2,
        "available": null
    },
    "demand": {
        "occupancyQuantity": 2
    },
    "address": {
        "latitude": 51.75333,
        "longitude": -1.259977
    },
    "Rates": {
        "RateMatrix": []
    }
},
(More results in the actual result of course...)
]

These id’s match those in the internal collection but given what you said, there is no way to link 3rd party collections with internal ones yet.

However, another issue is that all I seem to get as a field in my 3rd party API is ‘id’. Seeing as there is no ‘Results Key’ to un-nest the responses, I’m assuming this is why.

The way I have things set up is:

  • I have a map with multiple markers on from an internal collection (Working)
  • A modal popup displaying the name of the car park and the capacity (Working)
  • A link back on click to the map to clear the popup (Working)

And what I want to do is use the result of the 3rd party API call to make the “supplyQuantity” value for the current car park ID available for use within a text field in the modal popup.

I feel like this might be possible given what you said but not sure how to do it. I may be pushing the current functionality so any help greatly appreciated.

@benmorris Good news is we are working on an Adalo API which will provide access to the local collections.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.