
Step 1: Connect your stack
27+ native integrations plus 9,800+ tools via managed connectors. Mostly one-click OAuth, a few API keys. No webhooks, no Zapier zaps.
Viktor works in Expensify for you. Ask in Slack or Microsoft Teams.
Viktor is an AI employee that connects to Expensify and helps you track employee expenses, corporate cards, and business travel, running 9 Expensify actions for you like Get Report, List Reports, and List Policies. Ask in plain English from your workspace; Viktor does the work in Expensify and reports back. Viktor connects with an API key.
Viktor connects to your Expensify account and completes work in it. He doesn't just answer questions about Expensify, he takes the actions on your behalf and delivers the finished result to your workspace.
Unlike workflow builders such as Zapier or Make, there is nothing to configure - no triggers to map, no workflows to maintain. You describe the outcome in plain English, and Viktor picks the right Expensify actions, chains them with the other 9,800+ tools he connects to, and asks for approval before anything sensitive runs.
About Expensify
From unlimited receipt scanning and mileage tracking to next-day reimbursement, automate your preaccounting system with an easy to use expense tracking app.
Message Viktor in a Slack channel, a Microsoft Teams chat or a direct message. He opens Expensify, does the work and posts the result in the same thread, so nobody has to switch tabs.
He can also run Expensify work on a schedule, like a weekly Expensify summary posted to your team's channel. Anything sensitive waits for your approval before it runs.
Viktor is not affiliated with or endorsed by Expensify.
You ask in your workspace
Describe what you need in plain English
Viktor picks the actions
Selects from 9 Expensify actions, chains them together
Runs in Expensify
Helps you track employee expenses, corporate cards, and business travel - your real data.
Reports back
Delivers the finished result to your workspace
Messages you'd actually send. Paste one into your workspace, swap in your specifics, and Viktor takes it from there.
“Check Expensify for expense reports awaiting my approval and summarize them.”
— you, to @Viktor
“Find receipts missing from this month's Expensify report and remind the team.”
— you, to @Viktor
“Watch Expensify for a purchase over the policy limit and alert me right away.”
— you, to @Viktor
“Book this trip in Expensify within the standard policy and send me the itinerary.”
— you, to @Viktor

27+ native integrations plus 9,800+ tools via managed connectors. Mostly one-click OAuth, a few API keys. No webhooks, no Zapier zaps.
Message Viktor like a teammate: "Pull this week's MRR from Stripe." "Triage new Linear bugs." "Pause Meta ads over $40 CPA." Any tool.
Viktor opens the tools, runs the work, and posts back exactly what changed. Sensitive actions wait for your approval. It’s all logged.
Ask in plain English from your workspace. Viktor picks the right Expensify actions, runs the work, and reports back. No workflows to build.
Mark an APPROVED Expensify report as REIMBURSED via the Integration Server reportStatus updater. This is the only report-status transition the API supports — Approve and Reject are not available (attempting APPROVED returns responseCode 410). Use List Reports with reportState=APPROVED to find reports eligible for reimbursement.
Search Expensify reports by state and/or date range and return a structured JSON array of report summaries (reportID, reportName, total, status, submitterEmail, etc.), NOT a file. Use this to find reports before acting on them. Under the hood this calls the Report Exporter with an embedded Freemarker JSON template and reads the result in memory (no /tmp file written). You must provide either a reportState or a startDate/endDate range. Note: OPEN reports cannot be returned when an employeeEmail filter is set (API restriction). Use List Policies to discover valid policy IDs for the optional policyId filter. Use Get Report to retrieve a single report's full expense line items.
Retrieves a list of policies.
List individual expenses (transactions) for an employee within a date range, returning a structured JSON array (each with amount, currency, merchant, created date, category, receiptURL, reportID). NOT a file. Implemented via the Report Exporter with an embedded Freemarker JSON template that flattens transactionList, read in memory. Use List Policies to discover valid IDs for the optional policyId filter. To read all expenses on one specific report, use Get Report instead.
Retrieve a single Expensify report by ID, returning a structured object with the report metadata plus its complete expense line-item list (per-expense amount, currency, merchant, date, category, receiptURL, etc.). NOT a file. Implemented via the Report Exporter with reportIDList set to the given ID and an embedded Freemarker JSON template read in memory. Use List Reports to discover report IDs. This action also covers per-expense reads: the returned transactionList contains full expense details, so a separate expense-by-ID lookup is unnecessary.
Export Expensify reports to a file (csv, xls, xlsx, txt, pdf, json, xml).
Export a report to PDF.
Creates a new report with transactions in a user's account.
Creates a new expense.
Ask for outcomes that span tools - Viktor pulls from Expensify, cross-references the rest of your stack, and delivers one finished result.
Yes. Expensify is one of the 9,800+ tools Viktor connects to, with an API key. Once connected, anyone on your team can put Viktor to work in Expensify from their workspace - no workflow builder, no code.
Ask Viktor in your workspace to connect Expensify, then paste an API key from your Expensify account when prompted. Viktor stores the key encrypted, uses it only for the actions you ask for, and you can revoke it at any time. Setup takes about two minutes.
Viktor can run 9 Expensify actions, including Get Report, List Reports, and List Policies - and chain them with other tools in a single request. In practice that means Viktor helps you track employee expenses, corporate cards, and business travel. If a task spans several actions, Viktor plans the sequence itself and reports back when the work is done.
No. Viktor isn't a workflow builder - there are no triggers to map and nothing to maintain. You ask for the outcome in plain English in your workspace, and Viktor decides which Expensify actions to take, runs them, and reports back.
Start free. Viktor delivers.
Start for free today. No credit card required.