External Collections with APIs
Last updated
Last updated
We are currently unable to support IDs that are not in number format. This includes IDs which include text, special characters, and UUIDs.
You will need to be on the Professional, Team, or Business Adalo plan in order to set up External Collections.
External Collections are a powerful Adalo feature that allow you to connect your app with other apps and services using APIs.
Once you've set up an External Collection, you can use it just like you would a standard collection. You can use it to power Lists, and you can use Actions and Forms to create, update, and delete data in an External Collection
1) In the left toolbar, click on the Database tab
2) Under External Collections, click "Add Collection"
3) In the modal that pops up, assign your External Collection a name such as "Trips"
4) Enter the destination API's Base URL. For example, the base URL of an Airtable table might look like: https://api.airtable.com/v0/appdgaWQINJb2Offg/Trips
5) Configure Authorization
Most APIs require some way of telling them that you have permission to access their data. This is usually done with Authorization Parameters. There can be two types of Authorization Parameters - a Header Parameter or a Query Parameter.
To add an Authorization Parameter, click Add Item, and then select either Header or Query Param
Add the Name and the Value of the Parameter
For example, The Authorization for Airtable requires a Header Parameter with a Name of "Authorization" and a Value of your Airtable API key, which might look like Bearer keyCidTHSJLgcl9Dn.
Every External Collection has 5 endpoint actions you can configure, including:
Get All Records
Get One Record
Create a Record
Update a Record
Delete a Record
Each of these has a Method and a URL.
The Method can be either GET, POST, PUT, PATCH, or DELETE. Adalo will recognize sensical defaults, so in most cases you will not need to configure the Method. The most common exception is the Update a Record endpoint. In some APIs, like Airbase, you will need to set this to be PATCH instead of the default PUT method.
The URL is also something that we default for you, based on your Base URL. However, every API is different, so you may need to change the default URLs.
There's one other thing that you can customize for your Endpoints, and that's in the Get All Records Endpoint. With some APIs, when you request a list of records, they'll return all the results together. The name of this group is often called a Top-Level Key, or Results Key. If your API has this, it's OK! You can just enter the name of the key in the setup for "Results Key." So, for example, if you're setting up a connection to an Airtable API, then you need to enter "records" as the Results Key for the Get All Records endpoint.
Finally, run the test of your API setup. If there's an error, you'll see the error message from the API you're trying to connect to and can go back and adjust your setup. If everything works, you'll see the example response from your API, and you can close the setup modal.
The Properties for your collection will be automatically detected and added based on the example response during the connection Test.
Now that you've got your External Collection set up, you can work with it just like the Standard Collections you're used to. Lists, Actions, and Forms work with External Collections in the exact same way as data stored in Adalo.
You can learn more about External collections in our External Collection course from The Adalo App Academy.