Nightshift for Financial Services
Answers across every entity and ledger, in one ask.
Your revenue, billing, CRM, and GL live in different systems and different entities. Connect them once: finance teams and their agents query the whole stack live, with no warehouse to stand up, sensitive columns masked behind governed views, and agents granted read, never write.
-- gl_emea: EMEA entities only, sensitive columns masked or droppedcreate view gl_emea asselect entity, account, amount,md5(customer_contact) as customer_contact -- maskedfrom general_ledgerwhere entity in ('EMEA-1', 'EMEA-2'); -- employee_comp not selected
See it work
Reconcile across the stack, in one ask.
Watch an agent connect Nightshift over MCP, then reconcile a $3.1M billed-vs-collected gap across Stripe, Snowflake, Salesforce, and Workday, governed down to the row.
Identity-aware, end to end
The same request, different data back.
Each team is granted its own governed view, so the same question returns only their entities, and neither sees employee comp. Access follows the identity, not a shared service account.
| Account | Entity | Revenue |
|---|---|---|
| Northwind | EMEA-1 | $24.0M |
| Globex | EMEA-2 | $11.2M |
| Initech | EMEA-1 | $8.4M |
| Account | Entity | Revenue |
|---|---|---|
| Acme | AMER-1 | $52.0M |
| Stark | AMER-2 | $30.1M |
| Wayne | AMER-1 | $9.2M |
What agents do
Finance copilots, scoped to the books.
Reconcile the close
Tie billed, recognized, and collected across the warehouse, CRM, and GL, then rank the gap by account, scoped to the entities a controller owns.
Brief the board
Pull revenue, margin, and cash across every entity into a first-draft review, with customer and employee PII masked behind the view.
Chase the cash
Find unapplied cash and aging receivables across billing and the ledger, scoped to a region, never another entity’s books.
One catalog over the stack
The warehouse, CRM, billing, and the ledger, governed as one.
Point Nightshift at Snowflake, Salesforce, Workday, and Stripe, and it exposes a single governed catalog. Query it live where it lives, or ingest into your own store for speed: either way agents read through governed views, scoped down to the row.
- Query live in view mode, or ingest into your own governed store
- Governed views mask columns and scope rows before the agent reads
- Agents get read grants, so they can query but never post
Entity boundaries
The walls hold by default.
Each finance team is granted only its own entities, and sensitive columns like employee comp stay out of the view. The boundary is the view and the grant, so an agent only ever reads the books its user owns.
Reads its own entities
Americas books walled off
Reads its own entities
EMEA books walled off
For the audit
Every request is on the record.
Questions finance and audit ask
What controllership wants to know.
- Is a second copy of sensitive financial data created?
- It does not have to be. In view mode Nightshift queries the warehouse, CRM, and GL where they live, so no new store of revenue or customer data is created. If you ingest for speed, that copy stays in your own governed store, and every read is logged either way.
- How granular is access?
- As granular as a view. A governed view selects the columns and rows an audience should see, hashing or dropping the rest, and the agent is granted read on that view. A controller sees their entities; employee comp stays out of the view entirely.
- Can agents change the ledger?
- Not unless you grant it. Access is a read or write grant on a table or view, and an agent gets read, so it can query the books but never post to them. Write stays with the people who hold it.
Put an agent on your finance stack, under policy.
Start free, connect your warehouse, CRM, or GL, and watch governed, row-level reads reach your agent in minutes.
Want to look first? Take the product tour
