Expensify
FinanceAutomate 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.
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
With FlowRunner
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 Capabilities
7 actionsPolicies
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.