IT OPS

Detect SaaS Charges in Expenses and Open a Security Intake

Scans the corporate-card and expense ledger in Snowflake for recurring SaaS charges that aren't on the approved-vendor list.

CategoryIT Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule after finance ETL
  • ActionQuery 30-day SaaS card/expense chargesSnowflakeSnowflake
  • LogicFilter charges not on approved-vendor list
  • ActionOpen Linear security-intake issue per merchantLinearLinear
  • OutputDM cardholder and post summary to SlackSlack

What it does

Finds unsanctioned SaaS subscriptions by reading expense and corporate-card transactions out of your finance warehouse, matching merchant strings against an approved-vendor catalog, and routing anything new into a security review with the spending employee already identified.

When to use it

Run it nightly or weekly when finance loads card transactions into Snowflake and you want IT/Security to catch tools that bypassed procurement before they accumulate data-sharing risk.

How it works

  1. 1A nightly schedule fires after the finance ETL completes.
  2. 2A Snowflake query pulls the last 30 days of card and expense rows tagged as software/subscription merchants.
  3. 3A logic step normalizes merchant names and filters out anything already in the approved-vendor table, keeping only unmatched recurring charges.
  4. 4For each surviving merchant, a Linear issue is created in the Security Intake project with the amount, cardholder, and first-seen date.
  5. 5A Slack DM notifies the cardholder and posts a summary to the #security-intake channel for the reviewing analyst.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect LinearIssues, projects, cycles, triage.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  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.