Custom integrations

For a system that isn’t in the Integrations catalogue
— a data warehouse, an internal API, a nightly export, a bucket of transaction or
customer data — Twelfth can read it through a bespoke, read-only pipeline.
Reach it from Settings → Integrations → Custom integration → Set up. Only
workspace owners and admins can set one up.

How it works

Like every Integration, a custom integration is
inbound and read-only — Twelfth reads from your system and never writes back.

  1. Whitelist a dedicated static IP. Twelfth reaches your system from one
    fixed address, so you can allow it through your firewall or bucket policy
    without opening anything wider.
  2. Point us at the data. Common shapes:
    • S3 or GCS bucket — transaction or customer data dropped as CSV/Parquet/JSON exports.
    • SFTP — scheduled file drops.
    • Read replica — a read-only database credential.
    • API — an internal or third-party endpoint we poll.
  3. We build the ETL. Twelfth builds the extract/transform pipeline and syncs
    it into your workspace on a schedule.

S3 / GCS transaction & customer data

The most common custom setup is a bucket of exports — for example daily
transaction or customer files landed in an S3 or GCS bucket. You grant
read access to Twelfth’s static IP (a scoped bucket policy or read-only service
principal), tell us the path and file format, and Twelfth ingests each new drop
on a schedule and maps it into your workspace.

Setting one up

Choose Set up on the Custom integration row. The row explains the shape
and hands off to a scoped Request a custom integration,
where you describe the system, the data, and how you’d like Twelfth to reach it.