> For the complete documentation index, see [llms.txt](https://docs.quanti.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.quanti.io/connectors/custom-connectors/email.md).

# Email

## Prerequisites

Before setting up the Email connector, ensure you have:

* **CSV**: Supported file formats for data ingestion
* **Header row**: Your file must include column names in the first row
* **Clean data structure**: Consistent data types across rows for each column

## Setup Instructions

{% stepper %}
{% step %}
**Connector Information**

* **Connector Name**: Define a unique name for your connector
* **Dataset ID**: Specify the BigQuery dataset ID where tables will be created
  * The dataset will be created automatically if it doesn't exist

Click **Next**
{% endstep %}

{% step %}
**Sync Behavior**

Choose the data insertion method that fits your use case:

1. **Table Type**: Select your table type:
   * **Fact table**: A table containing metrics and date-based data (e.g., sales, events, transactions)
   * **Dimension table**: A table composed exclusively of descriptive attributes (e.g., products, customers, categories)
2. **Sync Method**: Choose your insertion method: [Learn more](/key-concepts/data-insertion-strategies.md).
   * [**INSERT**](/key-concepts/data-insertion-strategies/insert-mode.md): Add new rows without checking for duplicates (recommended for time-series data)
   * [**REPLACE**](/key-concepts/data-insertion-strategies/replace-mode-delete-and-insert.md): Delete rows within the table scope and reload new rows
   * [**UPSERT**](/key-concepts/data-insertion-strategies/upsert-mode-update-and-insert.md): Update existing rows or insert new ones based on primary key (requires unique identifier) - No rows deleted

{% hint style="info" %}
If you have difficulties determining the most accurate configuration for your case, [discover our guide](/key-concepts/data-insertion-strategies/insertion-method-selection-guide.md).
{% endhint %}

Click **Next**
{% endstep %}

{% step %}
**Mapping Configuration**

**Upload Sample File**

* Select a sample CSV file that matches the structure of your incoming files
* **Delimiter detection**: The connector automatically proposes a delimiter based on your file (comma, semicolon, tab, pipe, etc.)
* **Important**: The uploaded file is used **only for mapping configuration** - no data is inserted at this stage

**Table Configuration**

* **Destination table name**: Define your BigQuery table name (lowercase, underscores only)
* **Delimiter**: Automatically proposed based on your uploaded file, but it is recommended to verify the selection

**Field Mapping**

For each column detected in your sample file:

* **Destination field name**: Define the column name in BigQuery (lowercase, underscores recommended)
* **Data type**: Choose the appropriate type:
  * `STRING` - Text values, alphanumeric data
  * `INTEGER` - Whole numbers (e.g., 42, -10, 0)
  * `FLOAT` - Decimal numbers (e.g., 3.14, -0.5)
  * `BOOLEAN` - True/False values
  * `DATE` - Date only (format: YYYY-MM-DD)
  * `TIMESTAMP` - Date and time with timezone
  * `DATETIME` - Date and time without timezone

**Date Column** (mandatory for Fact tables)

* Select the date field for table partitioning
* This field is **mandatory** for all methods when **Fact table** was selected in Step 2
* Used for optimizing query performance and data organization
* Must be a valid date/timestamp field in your data

**Historize Changes**

* **Required** if UPSERT was selected in Step 2 (Sync Behavior)
* **Optional** for INSERT and REPLACE methods
* **Selected fields**: Values are historized (previous versions are kept)
* **Deselected fields**: Values are updated without keeping history

Click **Next**
{% endstep %}

{% step %}
**Finish Setup**

**Retrieve your dedicated email address:**

* Navigate to the **Overview** tab in the connector details page
* Copy the unique email address provided by QUANTI
* Send your CSV files as attachments to this address
  {% endstep %}
  {% endstepper %}

### Notes

* **File format**: Supports CSV only
* **Delimiter detection**: Automatic detection of comma, semicolon, tab, pipe, and other common delimiters, but it is recommended to verify
* **Processing time**: Files are processed within minutes of receipt
* **Email address**: Found in the **Overview** tab of your connector details page
* **Multiple files**: You can send multiple files in the same email - each will be processed independently

## Troubleshooting

<details>

<summary>Email not processing</summary>

* Verify you're sending to the correct email address (check **Overview** tab)
* Ensure file is attached (not embedded in email body)
* Check file format is CSV
* Check the delimiter is correct
* Check that a header row is present in the CSV file

</details>
