External Collections with APIs

External Collections are a powerful feature from Adalo 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

Setup the Base URL

1) In the left toolbar, click on the database tab

2) Under External Collections, click "Add Collection"

3) In the modal that pops up, give your External Collection a name like (Trips)

4) Enter the Base URL for the API you're connecting to. For example, the base URL of a table in Airtable might look like: https://api.airtable.com/v0/appdgaWQINJb2Offg/Trips

5) Set up Authorization

  1. 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

  2. To add an Authorization Parameter, click Add Item, and then select either Header or Query

  3. Add the Name and the Value of the Parameter

  4. 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"

Configure the Endpoint Actions

Every External Collection has 6 endpoint actions you can configure

  1. Get All Records

  2. Get One Record

  3. Create a Record

  4. Update a Record

  5. Delete a Record

Each of theses a Method and a URL.

The Method can be either GET, POST, PUT,PATCH, or DELETE. Adalo will default these for you, so in most cases you will not need to configure the Method. The most common exception in 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. Some APIs when you request a list of records, return all the results together. The name of this group is often called a Top-Level Key. If your API has this, it's OK! You can just enter the name of the key in the setup. So, for example, if you're setting up a connection to an Airtable API, then you need to enter "records" as the Top-Level Key for the Get All Records endpoint.

Test Your Connection

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

Start Building!

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.