FlowRunner
PricingContact
Theme
Start Free

Expensify

Finance

Automate expense operations in Expensify. Agents create reports and pre-populate them with expense line items, push transactions in from other systems, export report data as JSON, CSV, or PDF for reconciliation, list policies, and bulk update employees and approval managers.

7 actions API key available
Expensify website ↗ Platform Documentation ↗ Capability data verified 2026-07-27
Month-end close begins and the reconciliation window opens
Get Policy List resolves the policy IDs for each workspace in scope
Get Report Data exports approved reports and their transactions as parsed JSON for the period
The agent matches each report against the general ledger and card statements, line by line
Matched reports log to the reconciliation sheet; mismatches post to the finance channel with both sides shown
The controller rules on each mismatch: coding error, missing receipt, or a genuine discrepancy to chase
Resolved items update the reconciliation record, and close proceeds with the exceptions documented

What This Integration Enables

Expensify holds the spending story of a company: who spent what, under which policy, approved by whom. This connector is built on the Integration Server, which means it speaks to Expensify the way finance systems do, in jobs and exports rather than screen taps. FlowRunner agents create reports pre-populated with line items, push transactions in from other systems, export report data as JSON, CSV, or PDF, and bulk-maintain employees and their approval managers on a policy. The view this page takes: expense automation is a controls problem before it is a convenience problem. The interesting work is not filing expenses faster; it is making the data flow into reconciliation continuously and keeping the approval chain aligned with the actual org chart, with a person confirming changes to either. - Export approved report data on a schedule for reconciliation, no manual downloads - Create reports and expenses programmatically, amounts in the currency's smallest unit - Feed receipt-parsing pipelines directly into employee accounts - Bulk-onboard employees and assign approval managers as HR systems change One operational note worth knowing before you design a flow: the Integration Server enforces rate limits of five requests per ten seconds, so bulk work belongs in batched jobs, not per-record loops. The export actions are built for exactly that, one call covering a whole reporting period rather than a thousand calls covering a thousand reports.

Without FlowRunner

Reconciliation by export button Someone downloads report CSVs, massages columns, and VLOOKUPs them against the ledger every month
Expenses arrive only through the app Transactions from other systems get retyped into Expensify or skipped entirely
Approval chains rot quietly People change teams and their expense approvals still route to a manager who left in March

With FlowRunner

Report data flows on a schedule Approved reports and transactions land as JSON in the reconciliation flow without a download in sight
Any system can file an expense Transactions push into employee accounts programmatically, receipts attached upstream
The org chart drives the approval chain HR changes propagate to policies and approval managers, reviewed before they take effect

Use Case Scenarios

The close that starts with data already matched

On the first of the month, the agent calls Get Report Data filtered to approved reports in the closed period and reconciles every transaction against the ledger export in [Google Sheets](/integrations/google-sheets). Ninety-odd percent match and log silently. The remainder posts to [Slack](/integrations/slack) with the Expensify line and the ledger line side by side. The controller spends close ruling on a short exception list instead of building the comparison from raw CSVs.

Receipts become expenses without a human keyboard

Scanned receipts flow through a parsing step like [Docparser](/integrations/docparser), which extracts merchant, date, and amount. The agent converts the amount to cents, then calls Create Expenses to write the transactions onto the employee's account with the receipt reference attached, optionally bundling them onto a report with Create Report. The employee opens Expensify to find their expenses already filed and waiting for their confirmation, not a pile of photos to transcribe.

New hires land in the right approval chain on day one

An employee change event fires in [BambooHR](/integrations/bamboohr). The agent builds the employee record, resolves the correct policy with Get Policy List, assigns the approval manager from the org chart, and stages an Update Employees call. Because that call bulk-writes the approval structure, the staged change posts for a finance admin's confirmation before it runs. New hires can file expenses in week one, and nobody discovers in an audit that approvals were routing to a departed manager.

Human-in-Loop Highlight

Update Employees is the quiet dangerous one in this connector. It bulk-creates and updates employees on a policy from a CSV, including who each person's approval manager is and who holds admin flags, which means a malformed run does not just mis-file data, it rewires the control structure that decides whose spending gets approved by whom. An approval chain pointed at the wrong manager fails silently: reports keep flowing, money keeps moving, and the gap only surfaces when an auditor asks who signed off. So FlowRunner agents stage every Update Employees call as a diff, current assignments against proposed, and a finance admin approves the change before it executes. Create Expenses gets a lighter version of the same discipline, since amounts are integers in cents and a unit mistake turns a $10.99 receipt into a $1,099 expense. Machine speed for the assembly, human sign-off for the control surface.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

7 actions

Policies

1
  • Get Policy List Retrieves the policies (workspaces) accessible to the credentialed account, each with ID, name, owner, role, type, and default output currency. Supports an admin-only filter. The lookup behind every policy-scoped action.

Reports

4
  • Create Report Creates an expense report on a policy for an employee, optionally pre-populated with expense line items. Amounts are integers in the currency's smallest unit. Returns the new report ID.
  • Export Report Data Renders report data through a FreeMarker template and returns the generated filename for download. Filter by report state, report IDs, or date range. The low-level export step for custom formats.
  • Download Exported File Downloads the raw contents of a previously exported file by filename, returned inline as text or saved to file storage with a downloadable URL.
  • Get Report Data Exports and downloads report data in one call, returning reports and their transactions as parsed JSON with no template required. The action reconciliation workflows are built on.

Expenses

1
  • Create Expenses Creates one or more transactions on an employee's account from a transaction list, optionally attached to a policy or an existing report. Amounts in cents. Returns the created transaction IDs.

Employees

1
  • Update Employees Bulk-creates or updates employees on a policy from a list of records, assigning approval managers and admin flags via CSV to the Integration Server. The action this page's human gate exists for.

Frequently Asked Questions

What can FlowRunner do with Expensify?

FlowRunner agents can run Get Policy List, Create Report, and Create Expenses in Expensify, plus 4 more actions.

Does connecting Expensify to FlowRunner require OAuth?

No. Expensify connects to FlowRunner with an API key, no OAuth flow required.

Can Expensify trigger a FlowRunner workflow automatically?

Expensify doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Expensify

$100 in credits. No card required. Connect in minutes.