SECOPS

OAuth Consent Inventory Snapshot to Postgres

Takes a full point-in-time snapshot of every OAuth app grant, scope, and consenting user.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerScheduled snapshot run
  • ActionEnumerate all OAuth grants and scopesOutlook
  • LogicNormalize into per-app-scope-user rows
  • ActionUpsert snapshot rows into PostgresPostgreSQLPostgres
  • OutputWrite run summary for trend queriesPostgreSQLPostgres

What it does

Captures a complete, timestamped inventory of all third-party OAuth grants in your tenant and persists it to a Postgres table, building the historical record needed for drift analysis, audits, and compliance evidence.

When to use it

Use this when point-in-time alerts aren't enough and you need queryable history — to answer "which apps gained scopes since last quarter" or to produce evidence for SOC 2 / ISO access reviews. Run it on a fixed cadence so each snapshot is comparable.

How it works

  1. 1A schedule triggers the snapshot on a fixed interval.
  2. 2The flow enumerates every OAuth app grant with its scopes, consent type, and consenting users.
  3. 3A normalization step flattens the nested grant data into one row per app-scope-user with a run timestamp.
  4. 4The rows are upserted into a Postgres consent-inventory table keyed by snapshot date.
  5. 5The run finishes by writing a summary record (total apps, new since last run, scopes added) for quick trend queries.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect OutlookMail, calendar, contacts.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    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.