Any workaround to connect Adalo database to Power BI?

Hi everyone,

So I’m a no coder with a business background and have done various projects for monitoring product performance with Power BI - which I personally find a good tool for the purpose.

Now, I track specific user behaviour and actions in my Adalo database (both for the functionality of the app but also for tracing and learning what users prefer to do in my app). Is there any way that I can connect Power BI to the Adalo database and read in the records?

I haven’t found anything in the forum or the ideas pool of Adalo but in case I just overlooked it, please forgive me and maybe link me to the discussion. Appreciate any help from you all :pray:

You can connect your Power BI to Adalo via a REST connection. From Power BI click on Get Data and choose From Web. the Web URL will be the API address for the collection.

Click the 3 dots beside the collection name in Adalo, then choose API Documentation
image

The Endpoint address is the address to you in Power BI. You need to set up Authorization in Power BI as well using the Bearer token. The information you need is on the right hand side of the API documentaion
image

For more info on connecting power bi to RESTful interfaces see this post

2 Likes

Works like a charm!

Thanks @TKOTC for that prompt reply!

I found a few issues with how the relationship properties for each record end up in Power BI, but that might have something to do with how I set them up in Adalo (numbers work, but text doesn’t).
Many-to-many relationship properties do not appear at all, however.

I’ll try out some more things and dig in deeper in the API documentation and Power BI resources.
Thanks a lot again for your quick help! Didn’t expect help so fast! :clap:

A little easier for the next person who finds this thread:

Basic code to use in PowerBI:

Go to Transform data, open a blank query en open the advanced editor -

Then use the url and bearer code you find in the api documentation for each collection by following the steps described above. Paste those in the code below and paste your full code it into the advance editor. Repeat for each collection you would like to import.

let
    GetJson = (url as text) =>
        let
            headers = [#"Content-Type"="application/json", #"Authorization"="Bearer INSERT BEARER CODE HERE"],
            Source = Json.Document(Web.Contents(url, [Headers = headers]))
        in
            Source,

    Data = GetJson("INSERT END-POINT URL HERE?offset=0&limit=500")
in
    Data