# Importing from Coda

*Coda is a versatile document editor that combines word processing, spreadsheets, and database functionalities into a single platform. It enables users to create complex documents where they can track data, manage projects, and automate tasks with ease. Its unique approach integrates tables, text, and interactive buttons, allowing for dynamic document creation and collaboration. This makes Coda an exceptional tool for teams looking to streamline their workflows and increase productivity.*

### Set Up: <a href="#importingfromcoda-setup" id="importingfromcoda-setup"></a>

This guide assumes the following:

* The user has an Ecosuite account.
* The user has been given access to a [AMS Coda Export sheet](https://docs.google.com/spreadsheets/d/1Hjjh1TKhYqYQFkCTIV1LaAu8s2zeayQb3D6AvvLsFb0/edit#gid=319263952).

{% hint style="info" %}
*If you are new to Ecosuite and wish to have assistance getting a Coda integration working, there are integration consultants available.  Please contact <support@ecosuite.io> for further information.*
{% endhint %}

### Overview <a href="#importingfromcoda-overview" id="importingfromcoda-overview"></a>

The import works by following the general pattern:

1. The Ecosuite edits the **AMS INPUT** sheet in the export sheet to reflect the information of a project. This information is linked to data in the **CODA Clean** sheet.
2. The **AMS EXPORT** tab is then evaluated for matching key pair values.

#### How are key pairs evaluated? <a href="#importingfromcoda-howarekeypairsevaluated" id="importingfromcoda-howarekeypairsevaluated"></a>

Put simply, the keys are what is found in the **Asset Code** column, and the values are what is found in the **Coda Input** column.

Obviously, there are more columns than just those, so here’s the breakdown (mandatory columns marked as `*`):

* **Type\***: Specifies the type of the information being written. This is currently either **project** or **record**.
* **Record Identifier \`recordType/recordSubType\***: A special column that is populated when a record is specified. This follows the convention of `recordType/recordSubType`, e.g: `compliance/acmeLLC`.
* **Record Name (in case of Record Identifier collision)**: A column which specifies record names in the case of any identifier collisions.
* **Asset Code**: The asset key, or where the information is found on the object to be written.
* **Coda Input**: The asset value, or what information is to be written.
* **Coda Field Name:** The corresponding Coda field name. This is not written to the AMS, and is only actually used for reference.

**Example**

For example, take this row.

<figure><img src="/files/lREcvOofZqxUUDDWXyKw" alt=""><figcaption></figcaption></figure>

This corresponds to the following action in English:

“I want to edit a record, and it is of the type `compliance` and sub type `ACME LLC`. *If there are any other records of this type, then look for the one called* `ACME LLC`*.* The field I want to edit is `name` , and I want to replace it with `ACME LLC`."

### Importing <a href="#importingfromcoda-importing" id="importingfromcoda-importing"></a>

First, navigate to the **Project** tab within the **Data** module. Then, click on the **Import from Coda** button at the bottom of the page.

You will then be presented with this modal:

![](/files/Egddkv5BuJA9QPi2qlk3)

You will then be prompted to **Test** the current project. This will show you the result of what will happen if you applied the import.

![](/files/sIUmBFCaooCZheMsNYIT)

Assuming no schema errors are detected, you will then be able to click **Apply import**, which will save the import to the project.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ecosuite.io/user-guide/modules/data/project/importing-from-coda.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
