Workflow
An Employee Reimbursement Workflow
A receipt photo becomes a submitted, reviewed, paid, and reconciled record in Snowflake.
Sarah has an OpenClaw agent she named JavaBot. It is her assistant: delegated by Sarah, controlled by Sarah, and tied to Sarah's role in the business. This makes Sarah a highly productive employee. Sarah gets stuff done.
Together, Sarah and JavaBot do the flexible work at the edge. They adapt to the unknown, build apps, dashboards, and analysis, and weigh, compare, and simulate the unpredictable, nuanced issues on the front lines of the business.
What slows Sarah down? Employee reimbursements, timesheets, project management updates, and the enterprise systems that require her to manually point, click, and type to send data back to the business. Her organization uses Airlock to turn those processes into governed data specifications, or specs. Now Sarah can chat with JavaBot, set up automations, and use nuanced reminders to handle formerly distracting, often-forgotten tasks without leaving the work she was hired to do.
Here is how one small business process, an employee reimbursement, works with Sarah, JavaBot, Airlock, Snowflake, and the apps that make real-world payment happen, like Bill.com.
Actor timeline
One receipt, many participants, one governed record
JavaBot is her assistant, so this is Sarah preparing her own reimbursement with help.
OCR finds merchant, date, amount, tax, and currency.
Project, client, attendee count, and reimbursement category.
The request is valid, permissioned, and ready for review.
Employee roster supplies manager, department, and reimbursement eligibility.
Project and account references help finance classify the reimbursement.
Payee records make sure an approved reimbursement can actually be paid.
Nothing is lost in Slack, email, or a shared folder.
Snowflake Intelligence compares employee, project, and prior reimbursement records.
The review explains why the payment should proceed.
Approved reimbursements are joined to employee and Bill.com payee records.
Confirmations return to Snowflake for accounting and reconciliation.
The accounting system can consume a governed transaction dataset instead of reconstructing the story.
The workflow
Sarah sends the receipt
Sarah sends JavaBot, her own delegated assistant, a receipt photo in Slack and says it is for a client project meal.
Sarah and JavaBot prepare the request
JavaBot resizes and orients the image, runs OCR, extracts merchant, date, amount, and currency, then asks Sarah follow-up questions about the project and business purpose. The work is still Sarah's work; JavaBot is helping her prepare it.
Airlock validates the submission
JavaBot submits the reimbursement and receipt attachment through Airlock. Airlock checks the spec, required fields, attachment rules, permissions, and workflow state before the request becomes pending review in Snowflake.
Reference systems add context
Snowflake supplies the employee roster, project and account references, policy context, prior reimbursement history, and Bill.com payee setup needed to evaluate whether the reimbursement is real, allowed, payable, and correctly classified.
Finance reviews in Snowflake
The finance team uses Snowflake Intelligence to review reimbursements against company policy, duplicate signals, employee records, project context, and prior submissions. The review is written back as its own governed record.
Approved work becomes a payment batch
Near month-end, another agent gathers reviewed and approved reimbursements, joins employee payee records, prepares a payment commitment, and submits it for the final workflow step before Bill.com.
Bill.com pays and confirms
The approved batch is sent to Bill.com. Payment confirmations return to Snowflake by API pull, webhook, or file so Airlock can compare what was approved and sent with what Bill.com says happened.
Accounting and reconciliation close the loop
Airlock keeps the outbound commitment, receipt evidence, Bill.com confirmation, accounting-ready transaction record, and reconciliation result in Snowflake. The accounting system can consume that governed dataset as the record of the transaction.
What Airlock changes
JavaBot can stay lightweight
JavaBot does not need to become the reimbursement app, the ledger, the permission model, or the audit system. It is Sarah's assistant, preparing Sarah's work for a governed boundary.
Finance gets structured review
Finance can review the request, receipt, policy evidence, employee status, and project context without chasing screenshots across Slack, email, and shared drives.
Snowflake keeps the record
The reimbursement request, review, approval, batch, provider confirmation, and reconciliation live where analytics, controls, and later agent work can use them.
Specs in the example
This workflow maps to the reimbursement specs in the Airlock Spec Library.
- employee_reimbursements: Sarah's submitted expense and receipt attachment.
- employee_info: employee, manager, department, and Bill.com payee reference data.
- employee_reimbursement_reviews: finance or agent review evidence and outcomes.
- ops_issues: exceptions such as missing employee setup, duplicates, or policy questions.
- employee_reimbursement_commitment: the approved outbound payment batch.
- bill_com_api_payment_confirmations: payment confirmations from Bill.com.
- reimbursement_payment_reconciliation: matching commitments to confirmations.
The point is not that every company must use this exact process. The point is that humans and agents can use the work surface that fits the moment, while Airlock and Snowflake keep the rules, records, approvals, and evidence durable.
Back to Airlock use cases