# 1. Mapping configuration

## **What will you need before you start**

* An account and a base in [Airtable](https://airtable.com/)
* Airtable personal access tokens for the base you want to connect
  * you must have `Owner` or `Creator` role for the given base in Airtable
* 3DVista virtual tour

### Skin CMS Mapper

Once you purchase a Skin CMS plan on [360creators.com](https://360creators.com), you will gain an access to the **Skin CMS Mapper**. Skin CMS Mapper is a simple tool you will be using to create and manage your mappings.

<figure><img src="/files/oD3Tx72C5MbTxBXruuLa" alt=""><figcaption><p>Screenshot of the Skin CMS Mapper - Creating a new mapping</p></figcaption></figure>

### **What is a mapping?**

Mapping is essentially the connection between the Airtable table and your 3DVista virtual tour.

<figure><img src="/files/QdafSlbBQrn8aAqUHnxr" alt=""><figcaption><p>Airtable table &#x3C;-> Skin CMS &#x3C;-> 3DVista virtual tour relation</p></figcaption></figure>

Mapping contains the information of which Airtable field (column) is mapped to which 3DVista component (skin element).

## Mapping configuration

When you create a new mapping, first you need to set up the configuration:

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

### <mark style="color:red;">1. Mapping name</mark>

Name of the Mapping. We recommend using something related to the project you are working on.

### <mark style="color:red;">2.</mark> <mark style="color:red;"></mark><mark style="color:red;">**Airtable personal tokens**</mark>

You can create Airtable personal tokens on Airtable's [Personal access token management](https://airtable.com/create/tokens) page. In order to create a mapping you need to create two personal access tokens - one for Mapper and one for 3DVista.

#### <mark style="color:red;">**2.1.**</mark> <mark style="color:red;"></mark><mark style="color:red;">Airtable personal access token for mapper</mark>

This personal token will be used by the Skin CMS Mapper to read your Airtable table's schema (structure) in order to access the names of the fields (columns), their types and configurations which are necessary for creating the mappings.

Create a personal access token with the following scope:

`schema.bases:read`

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

#### <mark style="color:red;">**2.2.**</mark> <mark style="color:red;"></mark><mark style="color:red;">Airtable personal access token for 3DVista</mark>

This personal token will be used in the virtual tour to fetch the data from the Airtable table. Therefore, as it's publicly available, it is extremely important to select the **correct** scope which in this case is:

`data.records:read`

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

With the `data.records:read` scope the virtual tour visitors will be able to read the data from **all** tables within the base for which the personal token is created (on the example above the base is: Skin CMS - Matej demos). This might include giving away an access to other tables that are not being used in the virtual tour but are part of the base. That's why we recommend making sure that the base does not contain any sensitive information. Users won't be able to edit nor delete the data, only read it.

### <mark style="color:red;">3. Airtable base ID</mark>

An Airtable link to your table looks something like this:

```
https://airtable.com/apphSS5HBXphqjWYw/tblQIsThQ5s5Vm3Zm/viw3lOMNmqyT2HCPZ
```

We are only interested in the **first** part after the `https://airtable.com/` which in the example above is `apphSS5HBXphqjWYw` - that's the base ID.

{% embed url="<https://support.airtable.com/docs/finding-airtable-ids>" %}
Airtable's documentation regarding the link structure
{% endembed %}

### <mark style="color:red;">4. Airtable table name</mark>

The Airtable table name in the example is `Table 1`:&#x20;

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

## Save and connect Airtable

Once you are done, you can hit the `Save and connect Airtable` button and continue to the 2nd step.

Whenever you change your Airtable structure, you will need to `Save and connect Airtable` to see the updated fields in the `Field Mappings` section.


---

# 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://skincms.360creators.com/skin-cms/your-first-skin-cms-mapping/1.-mapping-configuration.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.
