> ## Documentation Index
> Fetch the complete documentation index at: https://docs.morph-data.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Airtable

## Connecting to Airtable

For an overview of the connector, please refer to the following link:

* [Connecting to DB/SaaS](/docs/en/develop/guides/integration)

<Tabs>
  <Tab title="Dashboard">
    <Steps>
      <Step title="Create a Connector">
        Select the "Connectors" tab on the top page and press the "Create" button.

        <img src="https://mintcdn.com/queue-4c50ebb3/evgQaQjX53Vch8Y5/assets/images/docs/advanced/connectors/connect-data-platform-connection.png?fit=max&auto=format&n=evgQaQjX53Vch8Y5&q=85&s=19c6e7afc70da565c2a8ab4f75469549" alt="Connection" width="1907" height="711" data-path="assets/images/docs/advanced/connectors/connect-data-platform-connection.png" />
      </Step>

      <Step title="Enter Airtable Credentials">
        Select Airtable and press the sign-in button.

        <img src="https://mintcdn.com/queue-4c50ebb3/evgQaQjX53Vch8Y5/assets/images/docs/advanced/connectors/connect-data-platform-airtable-create.png?fit=max&auto=format&n=evgQaQjX53Vch8Y5&q=85&s=817ee71b4df4c9e7b3e3479f269254c9" alt="Airtable Connection Create" width="1665" height="771" data-path="assets/images/docs/advanced/connectors/connect-data-platform-airtable-create.png" />

        After entering the information, press the Create button to complete the creation. If there are any errors, please check the connection details again.
      </Step>

      <Step title="Obtain access_token from the created connector">
        Once created successfully, you can obtain the connector name from the list.

        Use the dedicated function to enter the connector name in the Python code and obtain the access\_token.

        <CodeGroup>
          ```python Python theme={"dark"}
          import morph
          from morph import MorphGlobalContext
          from morph_lib.api import get_auth_token


          @morph.func
          def main(context: MorphGlobalContext):
              access_token = get_auth_token("connection_name")
              # ↓↓↓ Process using access_token ↓↓↓
          ```
        </CodeGroup>
      </Step>
    </Steps>
  </Tab>

  <Tab title="Local Version">
    <Info>In the local version, you need to directly write the credentials in `~/.morph/connections.yml`. For other methods, please create them in the dashboard.</Info>

    <Steps>
      <Step title="Edit connections.yml">
        If the file does not exist in `~/.morph/connections.yml`, create it beforehand and then edit it.

        ```bash shell theme={"dark"}
        mkdir ~/.morph
        touch ~/.morph/connections.yml
        ```

        ```yaml theme={"dark"}
        connections:
          airtable-connection: # Unique arbitrary name
            type: airtable # Fixed
            method: airtable_oauth # Fixed
            refresh_token: str
            client_id: str
            client_secret: str
            redirect_uri: str
            access_token: str # Optional
        ```
      </Step>

      <Step title="Use the connector in the code to retrieve data">
        Use the dedicated function to enter the connector name in the Python code and obtain the access\_token.

        <CodeGroup>
          ```python Python theme={"dark"}
          import morph
          from morph import MorphGlobalContext
          from morph_lib.api import get_auth_token


          @morph.func
          def main(context: MorphGlobalContext):
              access_token = get_auth_token("connection_name")
              # ↓↓↓ Process using access_token ↓↓↓
          ```
        </CodeGroup>
      </Step>
    </Steps>

    The refresh of the access\_token is a dashboard feature, so the one described will always be used in the local environment.

    <Warning>
      When actually specifying the connector and executing the file, the priority is as follows:
      Also, note that only connectors created in the dashboard can be used in the environment where `morph deploy` is performed.

      1. Connectors described in `~/.morph/connections.yml` on the local machine
      2. Connectors registered in the cloud
    </Warning>
  </Tab>
</Tabs>
