DATA OPS

Nightly Google Drive CSV sweep with Postgres upsert and drift alert

On a nightly schedule, pulls new CSVs from a Google Drive folder, validates them, upserts rows into Postgres by primary key, and pages on-call via PagerDuty if the schema drifts.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule fires
  • ActionList and download new CSVs from Drive folderGoogle DriveGoogle Drive
  • LogicCheck headers against contract; branch on drift
  • ActionUpsert conforming rows into Postgres by primary keyPostgreSQLPostgres
  • OutputOpen PagerDuty incident if schema driftedPagerDutyPagerDuty

What it does

Runs every night to collect any CSVs added to a shared Google Drive folder, validate each against the expected schema, and upsert the rows into a Postgres table keyed on a primary identifier so re-delivered files update rather than duplicate. If a file's header layout drifts from the contract, it raises a PagerDuty incident instead of loading bad data.

When to use it

Use it when teams export reports to a Drive folder on their own cadence and you need the warehouse table refreshed once a day, idempotently, with a hard stop when the source format changes unexpectedly.

How it works

  1. 1A nightly schedule trigger starts the run.
  2. 2The pipeline lists the Drive folder and downloads files newer than the last successful run.
  3. 3A logic step compares each file's headers to the contract; on drift it branches to alerting.
  4. 4Conforming files are upserted into Postgres by primary key.
  5. 5If drift was detected, a PagerDuty incident is opened with the offending file and diff.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect Google DriveDocs, sheets, slides, files.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect PagerDutyIncidents, on-call, escalations.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.