Expensify logo

Expensify AI employee

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 a scoped API key.

Free to start
No credit card
SOC 2 Type 1
Works in Slack & Microsoft Teams

What is a Expensify AI agent?

A Expensify AI agent is an AI that connects to your Expensify account and completes work in it - it doesn't just answer questions about Expensify, it takes the actions. Viktor is an AI employee that works in Expensify 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 3,200+ tools it 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.

  1. You ask in your workspace

    Describe what you need in plain English

  2. Viktor picks the actions

    Selects from 9 Expensify actions, chains them together

  3. Runs in Expensify

    Helps you track employee expenses, corporate cards, and business travel - your real data.

  4. Reports back

    Delivers the finished result to your workspace

Try asking Viktor

What can you ask Viktor to do in Expensify?

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

How it works

How does Viktor work with Expensify?

Step 1: Connect your stack

27 native integrations. 3,200+ tools via managed connectors. Most are one-click OAuth, some use API keys - Viktor handles auth and starts working. No webhooks, no Zapier zaps.

Maya Patel11:32 AM
@Viktor check this week's Stripe revenue against HubSpot and flag anything off before the board call.
Viktor
ViktorApp11:33 AM
On it. Cross-checking Stripe against HubSpot and fixing anything that doesn't line up before your board call.

Step 2: Tell Viktor what you need

Message Viktor in Slack like you'd message a teammate. "Reconcile this month's invoices and flag anything weird." "Pause Meta campaigns above $40 CPA and move the budget to winners." Plain English, any tool.

Viktor
ViktorApp9:12 AM
📊 Revenue check:
$84,210 (+6.4% WoW).
3 deals didn't match HubSpot.
Fixed 2, one needs your call.

revenue_raport.pdf

4 pages·PDF

Step 3: Viktor operates, you review

Viktor opens the tools, runs the work, and posts back what changed. Sensitive actions wait for your approval. Everything is logged. You stop doing the work and start reviewing it.

Actions

What can Viktor do in Expensify?

Ask in plain English from your workspace. Viktor picks the right Expensify actions, runs the work, and reports back. No workflows to build.

  • Other

    Reimburse Report

    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.

  • Other

    List Reports

    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.

  • Other

    List Policies

    Retrieves a list of policies.

  • Other

    List Expenses

    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.

  • Report

    Get Report

    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 Report

    Export Report

    Export Expensify reports to a file (csv, xls, xlsx, txt, pdf, json, xml).

  • Export Report

    Export Report To PDF

    Export a report to PDF.

  • Report

    Create Report

    Creates a new report with transactions in a user's account.

  • Other

    Create Expense

    Creates a new expense.

Works with your stack

Viktor uses Expensify together with your other tools

Ask for outcomes that span tools - Viktor pulls from Expensify, cross-references the rest of your stack, and delivers one finished result.

Trusted by 60,000+ teams

The moment Viktor becomes part of the team.

Infrastructure for a $1M/yr agency built in 9 days
I discovered Viktor 9 days ago, and I have already built the infrastructure for a $1,000,000 a year content agency with zero staff.
Troy Dean

Troy Dean

Founder, Agency Mavericks

Saved:1 FTE/1 full time employee
Literally a game-changer for me, like adding another employee (or two).
Krysta Mueggenburg

Krysta Mueggenburg

Owner, Element Turf & Outdoor Solutions

Saved:10+ hrs/week
Claude Tag writes better specs. Viktor executes faster across tools. Viktor actually goes and creates the tickets.
Toni Lopez

Toni Lopez

Co-founder, Karumi (YC F25)

Expensify integration FAQ

Yes. Expensify is one of the 3,200+ tools Viktor connects to, via a managed connector. Once connected, anyone on your team can put Viktor to work in Expensify from their workspace - no workflow builder, no code.

4.9 on G2G2 rating: 4.9 out of 5 stars

One hire. The output of a team.

Viktor works nights, remembers every decision, and connects to 3,200 tools. Start free with $100 in credits, then $50 a month.

Get Started for Free