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

# Attio

## Connecting to Attio

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 Attio Credentials">
        Select Attio and press the sign-in button.

        <img src="https://mintcdn.com/queue-4c50ebb3/evgQaQjX53Vch8Y5/assets/images/docs/advanced/connectors/connect-data-platform-attio-create.png?fit=max&auto=format&n=evgQaQjX53Vch8Y5&q=85&s=990ae06c04b724e25e49b22e670171aa" alt="Attio Connection Create" width="1674" height="782" data-path="assets/images/docs/advanced/connectors/connect-data-platform-attio-create.png" />

        After entering the information, press the Create button to complete the creation. If there are any errors in the parameters, an error will be displayed, so please check the connection details again.
      </Step>

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

        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 currently need to directly write the credentials in `~/.morph/connections.yml`. Please create it in the dashboard if you prefer other methods.</Info>

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

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

        ```yaml theme={"dark"}
        connections:
          attio-connection: # Any unique name
            type: attio # Fixed
            method: attio_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 access\_token refresh is a dashboard feature, so the one described will always be used in the local environment.

    <Warning>
      The priority when actually specifying and executing the file with the connector is as follows.
      Also, please 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>
