FINANCE
Build a deferral schedule when a new contract closes
Triggered by a closed-won contract webhook, generates a period-by-period revenue-deferral schedule from the contract terms and writes it to BigQuery and Postgres so billing…
How it runs
The automated pipeline, trigger to output.
- TriggerWebhook: contract marked closed-wonHTTP webhook
- LogicCompute per-period recognition from contract terms
- ActionUpsert schedule rows into BigQueryBigQuery
- ActionMirror summary into Postgres ledgerPostgres
- OutputConfirm schedule built to source systemHTTP webhook
What it does
When a contract closes, this workflow reads its term, total contract value, and billing cadence, then constructs the full deferral and recognition schedule — one row per period — and persists it. The outcome is that every new contract has an authoritative recognition schedule the moment it's signed, so billing and recognition never start out of sync.
When to use it
Use this to eliminate the manual spreadsheet step finance does after each close. It's the upstream complement to divergence monitoring: get the schedule right on day one and there's less drift to catch later.
How it works
- 1An incoming webhook fires when a CRM or CLM marks a contract closed-won.
- 2A logic step parses term length, start date, TCV, and billing frequency, then computes straight-line (or milestone) recognition amounts per period.
- 3A BigQuery action upserts the generated rows into the recognition_schedule table.
- 4A Postgres action mirrors a summary row into the operational ledger used by the billing system.
- 5A final output confirms the schedule back to the originating system with the row count and total deferred.
Set it up
What you configure once, before turning it on.
- 1Connect HTTP webhookTrigger any URL on agent actions.
- 2Connect BigQueryDatasets, queries, schemas.
- 3Connect PostgresAny Postgres URL — query, write, migrate.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Finance workflows
Detect Annual-to-Monthly Downgrade Refunds Owed
Catches subscriptions switched from an annual term to monthly partway through the prepaid year, computes the unused prepaid balance owed back.
Detect Mid-Cycle Plan Change Mischarges and Queue Credit Memos
Listens for Stripe subscription plan changes, recomputes the correct prorated amount.
Expense Submission Webhook Instant Triage and Routing
Receives each expense submission via webhook the instant it's filed, classifies it as in-policy, needs-review, or hard-violation, and routes it to auto-approval.
Accrual Chase Board in Monday with Per-Owner Tasks
On a schedule it reads open uncoded expenses from Snowflake and creates or updates a Monday item per department owner.
Real-Time Uncoded Expense Nudge on New Spend Event
When a new expense lands without a GL code, a webhook fires and the workflow immediately Slack-nudges the spending owner to code it on the spot.
Monthly Vendor Spend Anomaly Brief for Finance Leads
Once a month, an agent analyzes the full expense ledger for vendor and category spend anomalies, drafts a narrative brief with the top outliers and likely causes.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
