HR & RECRUITING

Detect Anomalous Contractor Timesheet Entries

On every new timesheet submission, scores the entry against the contractor's own history using statistical thresholds and posts suspicious entries (duplicate days.

CategoryHR & Recruiting
Enginesim
Difficultyadvanced
Triggerwebhook
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerTimesheet submission webhookHTTP webhook
  • ActionQuery contractor's 12-week baseline from BigQueryGoogle BigQueryBigQuery
  • LogicScore entry for anomalies vs baseline
  • LogicSkip entries with no flags
  • ActionPost flagged entry to Slack review channelSlack
  • OutputAppend scored result to BigQuery audit tableGoogle BigQueryBigQuery

What it does

When a contractor submits a timesheet, this workflow compares the entry against that contractor's historical pattern stored in BigQuery, then flags entries that look wrong: more than 24 hours in a day, duplicate dates, or hours far above their rolling average. Reviewers see only the anomalies, with the reason attached.

When to use it

Use it when timesheet volume is too high to eyeball every entry and you want to catch padding, double-entry, or fat-finger errors before approval and payment.

How it works

  1. 1A webhook fires when a timesheet entry is submitted.
  2. 2Query BigQuery for the contractor's trailing 12-week hours to establish a baseline mean and standard deviation.
  3. 3Score the new entry: check for impossible hours, duplicate dates, and any value beyond three standard deviations from baseline.
  4. 4Branch: entries with no flags pass through silently and are skipped.
  5. 5For flagged entries, post a Slack message to the review channel naming the specific rule that tripped and the contractor.
  6. 6Append the scored result to a BigQuery audit table for trend tracking.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect SlackChannels, DMs, threads, mentions.
  3. 3
    Connect HTTP webhookTrigger any URL on agent actions.
  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.