Docs

Documentation

Guides for uploading data, reviewing charts, asking AI questions, connecting sources, and managing your account.

Amazon S3 Connector

Connect a bucket with IAM access keys, browse supported files, and import them into Chartlet.AI as datasets you can chart and analyze.

Before You Start

  • A Chartlet.AI workspace on a plan that includes the Amazon S3 connector (Pro and above).
  • An AWS account with permission to create or manage an S3 bucket and IAM credentials.
  • At least one CSV, Excel, or Parquet file in the bucket you want to import.

1. Prepare Your Bucket

  1. Create or choose an Amazon S3 bucket.
  2. Upload at least one supported file. Optional prefixes such as data/exports/ help keep imports scoped.
  3. Note the bucket name and AWS Region. Chartlet.AI needs the region that matches the bucket.

2. Create Least-Privilege IAM Credentials

Use a dedicated IAM user (or role that issues temporary keys) instead of root credentials. Follow AWS guides to create an IAM user and create access keys.

Grant only the permissions Chartlet.AI needs. Bucket-level actions and object-level actions use different ARNs — this is the most common setup mistake.

PermissionResource ARNWhy it is needed
s3:ListBucketarn:aws:s3:::YOUR_BUCKET_NAMEValidates the bucket (HeadBucket) and lists objects. Must use the bucket ARN — not …/bucket/*.
s3:GetBucketLocationarn:aws:s3:::YOUR_BUCKET_NAMEOptional. Helps confirm the bucket region during troubleshooting.
s3:GetObjectarn:aws:s3:::YOUR_BUCKET_NAME/*Reads object metadata and downloads the file you choose to import.
s3:GetObjectAttributesarn:aws:s3:::YOUR_BUCKET_NAME/*Optional. Used when reading object metadata during import.

Common mistake

Putting s3:ListBucket on arn:aws:s3:::BUCKET/* does not work. List/Head bucket need arn:aws:s3:::BUCKET (no /*). Object reads use arn:aws:s3:::BUCKET/*.

Example identity policy for a whole bucket (no prefix). Replace the bucket name. See also AWS example S3 policies.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ListBucket",
      "Effect": "Allow",
      "Action": ["s3:ListBucket", "s3:GetBucketLocation"],
      "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME"
    },
    {
      "Sid": "ReadObjects",
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:GetObjectAttributes"],
      "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
    }
  ]
}

To limit Chartlet.AI to a prefix such as data/exports/, keep ListBucket on the bucket ARN and add a prefix condition; scope GetObject to that prefix:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ListObjectsInPrefix",
      "Effect": "Allow",
      "Action": ["s3:ListBucket", "s3:GetBucketLocation"],
      "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME",
      "Condition": {
        "StringLike": {
          "s3:prefix": ["data/exports/*", "data/exports/"]
        }
      }
    },
    {
      "Sid": "ReadObjectsInPrefix",
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:GetObjectAttributes"],
      "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/data/exports/*"
    }
  ]
}

3. Connect the Bucket in Chartlet.AI

  1. Open the dashboard and go to Settings → Integrations, or start a new upload and choose Amazon S3.
  2. Select Connect Amazon S3.
  3. Enter a connection name, the bucket name, and the AWS region (for example us-east-1).
  4. Optionally enter a key prefix such as data/exports/ so only objects under that path are listed.
  5. Paste the IAM access key ID and secret access key, then choose Connect S3.
  6. Chartlet.AI validates access immediately by checking that the bucket is reachable.

Credentials are stored encrypted for your workspace. Prefer rotating access keys periodically and revoking unused connections in Integrations.

4. Browse and Import a File

  1. Select the S3 connection you just created.
  2. Browse the listed objects. Chartlet.AI shows CSV, XLS, XLSX, and Parquet files under your prefix.
  3. Choose a file to import. You can optionally filter by last-modified time window.
  4. Wait for extraction and processing to finish, then open the new dataset.

Supported object types: .csv, .xlsx, .xls, and .parquet. After import, Chartlet.AI runs the same profiling and analysis pipeline used for direct uploads.

Sync Schedules

On plans that include connector schedules, you can refresh an imported dataset on a cron schedule or with Run now. Schedules always target the original connection and source object. Availability depends on your workspace plan and quota — see Billing & Limits.

Troubleshooting

Amazon S3 is not available in the dashboard

Your workspace plan may not include the S3 connector, or an admin may have disabled it. Check Billing & Limits or ask a workspace owner.

Access key ID is invalid or inactive

In IAM → Users → Security credentials, confirm the access key is Active. If unsure, create a new access key and paste both the ID and secret into Chartlet.

Secret access key does not match

The secret is shown only once when the key is created. Create a new access key, copy both values carefully, and reconnect.

Access denied / could not access the bucket

Fix the IAM policy: s3:ListBucket must use arn:aws:s3:::BUCKET (no /*). s3:GetObject must use arn:aws:s3:::BUCKET/*. Also confirm the Region matches the bucket (for example us-west-1).

Wrong region

Open the bucket in the S3 console and copy its AWS Region into the Chartlet connection. A mismatch often looks like access denied.

No files appear after connecting

Upload a supported file (.csv, .xlsx, .xls, or .parquet) under the configured prefix. Nested folders are fine; empty “folder” keys are skipped.

Import starts but never finishes

Refresh the dataset page after a few minutes. Large files take longer. If the status stays stuck, contact support with your workspace email and dataset name.

AWS Documentation