Skip to content

CSV Data Connector

Built-in
Built by CHILI publish
Third Party

See Connector types

The CSV Data Connector lets you use any publicly accessible CSV file as a data source in GraFx Studio. Each row in the file becomes a record, and each column becomes a variable you can bind to your template.

No authentication is required. If your CSV file is publicly reachable, the connector can use it.

Installation

See installation through Connector Hub

You can deploy multiple instances of the connector, each pointing to a different file.

Configuration

Once installed, open the connector in your Connector overview and go to Configuration.

  • CSV File URL — the full public URL of your CSV file.
  • Allowed Domains — a list of domains the connector is permitted to fetch from.

Paste in your URL and save. The connector will fetch and parse the file on every use.

Allowed Domains

Because the connector fetches files from public URLs, it's good practice to restrict which domains it can reach. The Allowed Domains setting lets you define an explicit list — the connector will only fetch CSV files hosted on those domains and refuse any other URL.

For example, if your CSV files are always hosted on cdn.example.com, add that domain to the list. Any request to a different domain will be blocked, even if a valid URL is provided.

This protects against a template or integration accidentally — or intentionally — pointing the connector at an untrusted source.

Wildcards are supported. Use *.example.com to allow all subdomains of a domain — for example, if your files are spread across multiple subdomains like cdn.example.com and assets.example.com, a single wildcard entry covers all of them.

Tip

Keep the list as specific as possible. Use an exact hostname (e.g. cdn.example.com) when your files always come from one place. Use a wildcard (e.g. *.example.com) only when you genuinely need to cover multiple subdomains.

Hosting requirement

Serve your CSV with Content-Type: application/json

The connector runtime can only read the contents of a response when the server sends a Content-Type header that contains "json". For any other content type, the response is returned in a format the connector cannot read.

This means your CSV file must be hosted on a server where you can set the response Content-Type to application/json — even though the file itself contains CSV text. The content of the file is not affected; only the header matters.

Most static hosting services (AWS S3, Azure Blob Storage, CDNs, GitHub raw with a proxy) allow you to override the content type per file or per bucket.

Supported CSV formats

The connector handles a wide range of real-world CSV files without any manual configuration:

  • Delimiters: comma (,) and semicolon (;) — detected automatically based on the first line.
  • Quoted fields: fields can contain commas, semicolons, newlines, and escaped double quotes — fully supported.
  • Excel exports: UTF-8 BOM (added by Excel's "Save as CSV UTF-8") is stripped automatically.
  • Line endings: both Windows (CRLF) and Unix (LF) are supported.
  • Blank rows: empty rows, including trailing newlines, are ignored.
  • Missing headers: if a column header cell is empty, the column is named Column1, Column2, and so on.

Using the connector in a template

Set up your CSV file

Your CSV file must have a header row followed by at least one data row. The column headers become the variable names in GraFx Studio.

product_name price available
Summer T-Shirt 19.99 true
Denim Jacket 59.99 true

In your template, open the Data source panel, select your CSV connector instance, and paste in the URL of your CSV file if it differs from what was set during configuration.

GraFx Studio will read the column headers and create the corresponding variables automatically.

Browse records in Run Mode

In Run Mode or the Studio UI, you can page through the records to preview how your template looks with each row of data.

Output

To generate output across all records, create an output setting and enable the Data source option. Your output will include one page per record in the CSV file.

Column types

Column types are inferred automatically by sampling all values in the column. You don't need to configure anything — the connector figures it out.

CSV values Variable type
true / false (any case) Boolean
Numeric values (not starting with 0 or +) Number
Dates in YYYY-MM-DD or ISO 8601 format Date
Everything else, or mixed columns Single-line text

Leading zeros are preserved as text — a value like 007 will not be converted to a number.

If a column contains mixed types (for example, mostly numbers but with "N/A" in some cells), the entire column is treated as single-line text. No data is lost.

CSV file guidelines

  • The first row must be the header row — column names must match your template variable names.
  • Every column should have a header. Empty header cells are auto-named but harder to work with.
  • Avoid columns with mixed types if you need a specific type (number, date, boolean) — a single inconsistent value causes the whole column to fall back to text.
  • Leading-zero values (product codes, postal codes) should stay as text — the connector will not convert them to numbers.
  • The file must be reachable without authentication, and served with Content-Type: application/json.