Airtable
The Airtable modules allow you to monitor records and submitted forms or search, retrieve, create, update, and delete records in your Airtable account.
To get started with Airtable, create an account at airtable.com/signup.
Refer to the Airtable REST API Documentation for a list of available endpoints.
Connect Airtable to Make
You can connect Airtable apps in Make in three ways:
Connect using API Key (deprecated January 2024)
Connect using OAuth
To connect Airtable using OAuth:
Log in to your Make account, open the Airtable module scenario, click the Add button next to the Connection type field, and select Airtable OAuth.
Optional: In the Connection name field, enter a name for the connection.
Optional: Click Show Advanced Settings and enter the client credentials created in the section, Obtain OAuth Credentials.
Click Save.
In the Authentication screen, click Add a base and select the base to which you want to grant access.
Click Grant access.
You have successfully connected the Airtable app with Make.
Providing OAuth credentials is optional.
When you select the connection type as OAuth, authorize your account without the need to provide OAuth credentials.
To obtain OAuth credentials:
Log in to your Airtable account.
Click Profile > Developer hub.
Click OAuth integrations > Register new OAuth integration.
Enter the name for the integration and OAuth redirect URL as
https://www.integromat.com/oauth/cb/airtable3
.Click Generate client secret.
Copy the Client ID and Client Secret to a safe place.
Select the scopes, enter the support information, and click Save changes.
You have successfully created OAuth credentials.
Connect using Personal Access Token
You can connect Airtable apps using personal access token values from your Airtable account.
Log in to your Airtable account.
Click Your Profile Icon > Developer hub.
Click Personal access tokens > Create new token.
Enter a name for the access token, select the Scopes, Access, and click Create token.
Note: Users should choose at least the following most frequently required scopes:
data.records:read
,data.records:write
, andschema.bases:read
Copy the Personal Access Token to a safe place, and click Done.
Log in to your Make account, open the Airtable module scenario, click the Add button next to the Connection type field, and select the connection type as Airtable Token or Key.
Optional: In the Connection name field, enter a name for the connection.
Select the token type as Personal Access Token and enter the token copied in step 5 above.
Optional: Click Show Advanced Settingsand select the proxy service in the Proxy field.
Note
By choosing a Proxy, you understand and confirm that your Airtable data, including personal access tokens, will be routed through a third-party service.
Click Save.
You have successfully established the connection. You can now edit your scenario and add more Airtable modules. If your connection needs reauthorization, follow the connection renewal steps here.
You can connect Airtable apps using an API Key from your Airtable account.
Caution
API keys will be deprecated by the end of January 2024. After this date, API keys will stop working, and you will have to migrate to personal access tokens.
Log in to your Airtable account.
Click Your Profile Icon > Developer hub.
Click API key and copy the API key to a safe place.
Log in to your Make account, open the Airtable module scenario, click the Add button next to the Connection type field, and select the connection type as Airtable Token or Key.
Optional: In the Connection name field, enter a name for the connection.
Select the token type as API Key and enter the token copied in step 3 above.
Optional: Click Show Advanced Settingsand select the proxy service in the Proxy field.
Note
By choosing a Proxy, you understand and confirm that your Airtable data, including API keys, will be routed through a third-party service.
Click Save.
You have successfully established the connection. You can now edit your scenario and add more Airtable modules. If your connection needs reauthorization, follow the connection renewal steps here.
Build Airtable Scenarios
After connecting the app, you can perform the following actions:
Records
You can watch, create, update, search, retrieve, upsert, delete records, and watch responses using the following modules.
Returns all newly created or updated records in a view (required Created Time or Last Modified Time fields).
Connection | Establish a connection to your Airtable account. |
Base | Select the base that contains the table you want to watch for records. |
Table | Select the table you want to watch for new records. |
Trigger configuration | Trigger field Select the If you do not have a ![]() Label field: used as a label for a record. For example, Status dialog. ![]() |
Limit | The maximum number of records Make will return during one execution cycle. |
View | Select the view to watch the records. If selected, it will return the records only in that view. |
Formula | Enter the formula to filter records. For more details, refer to the Formula field reference documentation. The formula will be evaluated for each record, and if the result is not If combined with the For example, to only include records where Name isn't empty, pass in
|
Use Column ID | Select whether to use column ID instead of column name for mapping. This enables persistence over the column name change. Enabling this option allows to replace entity keys in the response; instead of entity names specified as parameter keys, their identifiers will be specified. Changing this value will break all existing mappings in this scenario. |
Triggers when a new response is submitted.
Warning
Available for paid Pro Plan only. See the Airtable pricing page.
The webhook URL needs to be generated in Make and added to the form configuration in the Airtable.
Add the Watch Responses module to your Makescenario.
Generate and copy the webhook URL.
Log in to your Airtable account.
Open the Base and the table you want for the form and create a Form view.
Set the form as needed, scroll down the form, and enable the Redirect to URL after the form is submitted option.
Enter the Webhook URL generated in step 2 to the displayed dialog box and add the ?record_id={record_id} just after the webhook URL to include the Record ID in the module's output, then click Save. The resulting URL will, for example, look like this:
https://hook.eu1.make.com/tgnp28pewooafbdgobvbh225hmocbn85?record_id={record_id}
Go back to your Makescenario and run the Watch Responses module only to load the Record ID from Airtable and to be able to map that field into the other modules.
Note: Airtable only supports sending the
record_id
parameter.Submit the form in Airtable where the Redirect to URL after the form is submitted option is enabled and the Webhook URL is added (step 6 above).
The Watch Responses module is triggered and loads the Record ID.
Add the Airtable > Get a Record module just after the Airtable > Watch Responses module and map the record_id to the Record ID field.
Every time the form is submitted, the Watch Responses module in your Makescenario is triggered, and the Get a Record module returns the submitted form details.
Searches for specific records or returns all records.
Connection | Establish a connection to your Airtable account. |
Base | Select or map the base that contains the table you want to search for records. |
Table | Select the table you want to search for records. |
Formula | Enter the formula to filter records. For more details about formulae, refer to the Formula field reference documentation. The formula will be evaluated for each record, and if the result is not If combined with the For example, to only include records where Name isn't empty, pass in
|
Sort | Specify sorting, if needed. The higher item in the list has precedence. |
View | Select or map the view for the search results. |
Output Fields | Add the fields you want to receive in the output. If no field is provided, all fields will be returned. It can be the field's name, for example, |
Limit | Set the maximum number of records Make will return during one execution cycle. The default value is 10. |
Use Column ID | Select whether to use column ID instead of column name for mapping. This enables persistence over the column name change. Enabling this option allows to replace entity keys in the response; instead of entity names specified as parameter keys, their identifiers will be specified. Changing this value will break all existing mappings in this scenario. |
Retrieves a single record by its ID.
Connection | Establish a connection to your Airtable account. |
Base | Select the base that contains the table with the record whose details you want to retrieve. |
Table | Select the table that contains the record whose details you want to retrieve. |
Record ID | Enter (map) the Record ID whose details you want to retrieve. Alternatively, you can use the search option to select the record. |
Use Column ID | Select whether to use column ID instead of column name for mapping. This enables persistence over the column name change. Enabling this option allows to replace entity keys in the response; instead of entity names specified as parameter keys, their identifiers will be specified. Changing this value will break all existing mappings in this scenario. |
Creates a new record in a Airtable.
Connection | Establish a connection to your Airtable account. |
Base | Select the base containing the table you want to create a record. |
Table | Select the table in which you want to create a record. |
Record | Enter values to the desired fields. See also Airtable's guide to basic field types. |
Smart links | Enable this option if you want to enter names instead of record IDs to fields that link to another table. The record is automatically created in the linked table if there is no match. |
Use Column ID | Select whether to use column ID instead of column name for mapping. This enables persistence over the column name change. Enabling this option allows to replace entity keys in the response; instead of entity names specified as parameter keys, their identifiers will be specified. Changing this value will break all existing mappings in this scenario. |
Updates a record by its ID.
Connection | Establish a connection to your Airtable account. |
Base | Select the base containing the table whose records you want to update. |
Table | Select the table whose record you want to update. |
Records ID | Enter (map) the Record ID you want to update. You can retrieve the ID, for example, using the Search Records or Watch Records module. Alternatively, you can use the Search button to select the Record ID. |
Record | Enter values in the fields you want to update. See also Airtable's guide to basic field types. NoteTo delete the content of the field, use the ![]() ![]() |
Smart links | Enable this option if you want to enter names instead of record IDs to fields that link to another table. The record is automatically created in the linked table if there is no match. |
Use Column ID | Select whether to use column ID instead of column name for mapping. This enables persistence over the column name change. Enabling this option allows to replace entity keys in the response; instead of entity names specified as parameter keys, their identifiers will be specified. Changing this value will break all existing mappings in this scenario. |
Creates a new or updates an existing record.
Connection | Establish a connection to your Airtable account. |
Base | Select the base containing the table you want to update or create a record. |
Table | Select the table where you want to create or update a record. |
Record ID | Enter (map) the ID of the record you want to update. If no ID is entered, it will create a new record. You can retrieve the ID, for example, using the Search Records or Watch Records module. Alternatively, you can use the Search button to select the Record ID. If you enter an ID that does not exist, an error occurs, and no action is performed. |
Record | Enter values in the fields you want to update or create. See also Airtable's guide to basic field types. |
Smart links | Enable this option if you want to enter names instead of record IDs to fields that link to another table. The record is automatically created in the linked table if there is no match. |
Use Column ID | Select whether to use column ID instead of column name for mapping. This enables persistence over the column name change. Enabling this option allows to replace entity keys in the response; instead of entity names specified as parameter keys, their identifiers will be specified. Changing this value will break all existing mappings in this scenario. |
Deletes a record by its ID.
Connection | Establish a connection to your Airtable account. |
Base | Select the base that contains the table you want to delete a record from. |
Table | Select the table you want to delete the record from. |
Record ID | Enter the ID of the record you want to delete. You can retrieve the ID, for example, using the Search Records or Watch Records module. Alternatively, you can use the Search button to select the Record ID. |
Creates a record with mapped fields.
Connection | Establish a connection to your Airtable account. |
Base | Enter the base that contains the table you want to create a record in. |
Table | Enter the table you want to create a record in. |
Record Fields as Array | Add the Column ID and Field value by selecting the field type for the record you want to create. |
Smart links | Enable this field to enter the user name in the linked record fields instead of record IDs to select an existing record or create a new one if it doesn't exist and use it to add new options in single/multiple select fields. |
Updates a record with mapped fields.
Connection | Establish a connection to your Airtable account. |
Base | Enter the base that contains the table whose record details you want to update. |
Table | Enter the table whose record details you want to update. |
Record ID | Enter the Record ID whose details you want to update. |
Record Fields | Add a new Column ID and Field value by selecting the field type you want to update. |
Smart links | Enable this field to enter the user name in the linked record fields instead of record IDs to select an existing record or create a new one if it doesn't exist and use it to add new options in single/multiple select fields. |
Searches for specific records or returns all records. Advanced module for mapping.
Connection | Establish a connection to your Airtable account. |
Base ID | Enter the Base ID that contains the table whose records you want to search. |
Table | Enter the table whose records you want to search. |
Sort | A list of sort objects that specifies the way you want to order the records. For example, asc. |
View | The name or ID of a view of the records in the table. |
Formula | A formula is used to filter records. The formula will be evaluated for each record, and if the result is not |
Output Fields | Add the fields you want to receive in the output. If no field is provided, all fields will be returned. It can be the field's name, for example, |
Limit | Set the maximum number of records Make will return during one execution cycle. |
Use Column ID | Select whether to use column ID instead of column name for mapping. This enables persistence over the column name change. Enabling this option allows to replace entity keys in the response; instead of entity names specified as parameter keys, their identifiers will be specified. Changing this value will break all existing mappings in this scenario. |
Other
You can list bases, table schemas, and call APIs using the following modules.
Allows you to perform a custom API call.
Connection | Establish a connection to your Airtable account. |
URL | Enter a path relative to NoteFor the list of available endpoints, refer to the Airtable REST API Documentation. |
Method | Select the HTTP method you want to use:
|
Headers | Enter the desired request headers. You don't have to add authorization headers; we already did that for you. |
Query String | Enter the request query string. |
Body | Enter the body content for your API call. |
Example of Use - List Records
The following API call returns all records in the specified table in your Airtable account:
URL:
/v0/{base_id}/{table_id}
Method:
GET
![Airtable_api_call.png](../../image/uuid-fda0bf2b-9632-8d5c-04ca-f518e4786e2b.png)
Search results can be found in the module's Output under Bundle > Body > records.
In our example, 4 records were returned:
![Airtable_api_bundles.png](../../image/uuid-a7be47ed-ca03-b75d-5ff5-adc892e170a5.png)
Returns the detailed list of all bases.
Connection | Establish a connection to your Airtable account. |
Limit | Set the maximum number of bases Make will return during one execution cycle. |
Returns the schema of the tables in the specified base.
Connection | Establish a connection to your Airtable account. |
Base | Select or map the base whose table schemas you want to list. |
Limit | Set the maximum number of table schemas Make will return during one execution cycle. |
Note
When changing data types for fields, please perform a hard refresh of the form to ensure that the new data types will be displayed.
To perform a hard refresh, click the three dots at the upper right of the module and select Refresh form.
![airtable_refresh.png](../../image/uuid-5cd5ebac-fd32-42ef-bf4a-4568570b7ea0.png)