diff --git a/sources/platform/integrations/data-storage/airtable.md b/sources/platform/integrations/data-storage/airtable/console_integration.md similarity index 80% rename from sources/platform/integrations/data-storage/airtable.md rename to sources/platform/integrations/data-storage/airtable/console_integration.md index 7f03509dc2..b3bac3c459 100644 --- a/sources/platform/integrations/data-storage/airtable.md +++ b/sources/platform/integrations/data-storage/airtable/console_integration.md @@ -1,9 +1,9 @@ --- -title: Airtable integration -description: Learn how to integrate Apify with Airtable -sidebar_label: Airtable -sidebar_position: 4 -slug: /integrations/airtable +title: Airtable integration on Apify Console +description: Learn how to integrate Airtable on Apify Console. +sidebar_label: Apify Console integration +sidebar_position: 1 +slug: /integrations/airtable/console --- **Learn how to integrate your Apify Actors with Airtable. This article shows you how to automatically upload results to your Airtable when an Actor run succeeds.** @@ -26,11 +26,11 @@ To use the Apify integration for Airtable, ensure you have: 1. In Apify Console, go to the [API & Integrations tab](https://console.apify.com/settings/integrations) in the **Settings** section. 1. Under **Account-level integrations**, click **Add account**. - ![Add account button in Account-level integrations section of the settings](../images/airtable/connect-account-1.png) + ![Add account button in Account-level integrations section of the settings](../../images/airtable/connect-account-1.png) 1. Select **Airtable** from the list of available services. - ![Connect with Airtable button among other buttons for connection of other available services](../images/airtable/connect-account-2.png) + ![Connect with Airtable button among other buttons for connection of other available services](../../images/airtable/connect-account-2.png) 1. Follow the OAuth 2.0 authorization flow to securely connect your Airtable account. @@ -42,7 +42,7 @@ To use the Apify integration for Airtable, ensure you have: 1. Go to the **Integrations** tab and click **Upload data to Airtable**. - ![Airtable integration option among other available integrations](../images/airtable/set-up-integration-1.png) + ![Airtable integration option among other available integrations](../../images/airtable/set-up-integration-1.png) 1. Select the upload mode: - **CREATE**: New table is created for each run of this integration. @@ -55,9 +55,9 @@ To use the Apify integration for Airtable, ensure you have: To ensure uniqueness when using CREATE mode, use dynamic variables. If a table with the same name already exists in CREATE mode, a random token will be appended. - ![Airtable integration configuration form](../images/airtable/set-up-integration-2.png) + ![Airtable integration configuration form](../../images/airtable/set-up-integration-2.png) 1. Save the integration. Once your Actor runs, you'll see its results uploaded to Airtable. - ![Airtable table filled with data](../images/airtable/set-up-integration-3.png) + ![Airtable table filled with data](../../images/airtable/set-up-integration-3.png) diff --git a/sources/platform/integrations/data-storage/airtable/index.md b/sources/platform/integrations/data-storage/airtable/index.md new file mode 100644 index 0000000000..fb7e280435 --- /dev/null +++ b/sources/platform/integrations/data-storage/airtable/index.md @@ -0,0 +1,139 @@ +--- +title: Airtable integration +description: Connect Apify with Airtable. +sidebar_label: Airtable +sidebar_position: 4 +slug: /integrations/airtable +--- + +**Learn how to integrate Apify with Airtable. This article shows you how to use the Apify extension on Airtable.** + +--- + +[Airtable](https://www.airtable.com/) is a cloud-based platform for organizing, managing, and collaborating on data. With the Apify integration for Airtable, you can automatically upload Actor run results to Airtable after a successful run. + +This integration uses OAuth 2.0, a secure authorization protocol, to connect your Airtable account to Apify and manage data transfers. + +## Connect Apify with Airtable + +To use the Apify integration for Airtable, ensure you have: + +- An [Apify account](https://console.apify.com/) +- An [Airtable account](https://www.airtable.com/) + +## Types of integration + +You can integrate Apify with Airtable using one of two options: + +- _Apify extension_ on Airtable website. +- _Console integration_ on the Actor page. + +This guide explains how to use the _Apify extension_. For console integration instructions, see the [Console integration](/platform/integrations/airtable/console) documentation + +## Setup + +### Install Apify extension + +Go to [Airtable](https://airtable.com) and open the base you would like to work with. Press the **Tools** dropdown in the top right corner and click **Extensions**. + +![Access the extensions tab on Airtable UI by pressing tools button](../../images/airtable/airtable_tools_button.png) + + +Search for Apify extenison and install it + +![Search for the Apify extension on Airtable](../../images/airtable/airtable_search_apify_extenison.png) + +Open the Apify extension and login using OAuth 2.0 with your Apify account. If you dont have an account, visit [Apify registration](https://console.apify.com/sign-up) page. + +![Open Apify extension and login](../../images/airtable/airtable_login.png) + +## Extension overview + +The Apify extension helps you map and import data into your Airtable base. + +### Features + +The extension provides the following capabilities: + +- Run Actors +- Run tasks +- Get dataset items +- Map and import the data into your base + +![Apify extension overview](../../images/airtable/airtable_overview.png) + +### Run Actor + +1. Select any Actor from **Apify store** or **recently used Actors** +![Select Actor screen](../../images/airtable/airtable_actor_select.png) + +1. Fill in the Actor input form. +![Configure Actor screen](../../images/airtable/airtable_configure_actor.png) + +1. Run the Actor and wait for results +![Run the Actor](../../images/airtable/airtable_actor_run.png) + +### Run task + +You can select and run any saved Apify task directly from the extension to reuse preconfigured inputs. + +![Run task](../../images/airtable/airtable_task.png) + + +### Get dataset items + +Retrieve items from any Apify dataset and import them into your Airtable base with a single click. + +![Get dataset](../../images/airtable/airtable_dataset.png) + +### Map data to Airtable + +This section explains how to map your Actor run results or dataset items into your Airtable base. + +#### Understanding mapping rows + +The Apify extension provides UI elements that allow you to map dataset fields to Airtable fields. + +![Run the Actor](../../images/airtable/airtable_mapping_row.png) + +**Source:** The dataset field from Apify. +**Target:** The target Airtable field label. For **new** mode, this creates new fields in your table. +**Field Type:** The type of the target Airtable field. For **new** mode, you must specify this field type. + +#### Select fields to map + +The preview window next to the mapping rows will help you view and pick fields from the dataset. +A period (`.`) in field labels indicates nested elements within an object. + +```json +{ + crawl: { + depth: 'the field you selected', + } +} +``` + +![Preview dataset fields](../../images/airtable/airtable_field_previews.png) + +#### Automatic field matching + +The Apify extension examines the field labels in your table and matches them with dataset fields, providing a default list of mappings. + +_How it works_: For a source field like `crawl.depth`, the extension checks for fields in your table with labels matching either `depth` or `crawl.depth`. When it finds a match, it automatically adds a mapping row. + +#### Import operations + +1. **CREATE**: Creates a new table for each run of this integration. +1. **APPEND**: Adds new records to the specified table. If the table doesn't exist, a new one is created. +1. **OVERWRITE**: Replaces all records in the specified table with new data. If the table doesn't exist, a new one is created. + +#### Filter duplicate records + +To prevent duplicate records, select a **Unique ID** on the data mapping step. The unique ID is added to the list of mapping rows. Ensure it points to the correct field in your table. During import, the extension filters data by existing values in the table. +![Select unique ID](../../images/airtable/airtable_unique_id.png) + +#### Preview Mapped Data + +Preview the results and start the import + +![Preview Mapped Data](../../images/airtable/airtable_preview.png) diff --git a/sources/platform/integrations/images/airtable/airtable_actor_run.png b/sources/platform/integrations/images/airtable/airtable_actor_run.png new file mode 100644 index 0000000000..94ee5499b6 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_actor_run.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_actor_select.png b/sources/platform/integrations/images/airtable/airtable_actor_select.png new file mode 100644 index 0000000000..35de3e9ffb Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_actor_select.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_configure_actor.png b/sources/platform/integrations/images/airtable/airtable_configure_actor.png new file mode 100644 index 0000000000..cb0e4a2b35 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_configure_actor.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_dataset.png b/sources/platform/integrations/images/airtable/airtable_dataset.png new file mode 100644 index 0000000000..d7842f2779 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_dataset.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_field_previews.png b/sources/platform/integrations/images/airtable/airtable_field_previews.png new file mode 100644 index 0000000000..95b769fbe4 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_field_previews.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_login.png b/sources/platform/integrations/images/airtable/airtable_login.png new file mode 100644 index 0000000000..a1c5b6b2ee Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_login.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_mapping_row.png b/sources/platform/integrations/images/airtable/airtable_mapping_row.png new file mode 100644 index 0000000000..748bbca238 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_mapping_row.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_overview.png b/sources/platform/integrations/images/airtable/airtable_overview.png new file mode 100644 index 0000000000..9e5c018b08 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_overview.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_preview.png b/sources/platform/integrations/images/airtable/airtable_preview.png new file mode 100644 index 0000000000..c7faee7202 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_preview.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_search_apify_extenison.png b/sources/platform/integrations/images/airtable/airtable_search_apify_extenison.png new file mode 100644 index 0000000000..d751c79ea8 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_search_apify_extenison.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_task.png b/sources/platform/integrations/images/airtable/airtable_task.png new file mode 100644 index 0000000000..9f2be58212 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_task.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_tools_button.png b/sources/platform/integrations/images/airtable/airtable_tools_button.png new file mode 100644 index 0000000000..ab01c47e99 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_tools_button.png differ diff --git a/sources/platform/integrations/images/airtable/airtable_unique_id.png b/sources/platform/integrations/images/airtable/airtable_unique_id.png new file mode 100644 index 0000000000..90017d37a0 Binary files /dev/null and b/sources/platform/integrations/images/airtable/airtable_unique_id.png differ