Resources · Zapier integration

Expensify Zapier integrationAutomate Expensify with Zapier.

The Expensify Zapier integration gives you 1 trigger, 4 actions and 1 search. Enough to catch every new expense report, file a PDF copy, log a single expense from another tool, and look a report up by its number. It sits on paid plans only.

Premium app Zapier reserves this app to its paid plans.

Verified Trustpilot reviews · AI, automation & growth agency

Overview

What the Expensify Zapier integration actually does

The Expensify Zapier integration links your Expensify account to Zapier, so that a new report or a new expense in one place sets off work in another without you copying anything by hand. Expensify is a premium app on Zapier: you need a paid plan or a free trial before the first Zap will run.

Three results come up again and again. A PDF archive of every report: New Report starts the Zap, Export Report to PDF builds the document, receipts included if you ask. Expenses that log themselves: Create Single Expense writes one line, merchant, date and amount, for an employee, from whatever tool first captured the spend. Reports opened for you: Create Expense Report prepares an empty report under the right policy, so a trip or a project starts with its own container.

Now the honest part. There is no trigger for a new single expense, only for a new report. Nothing in the list approves, submits or deletes a report. And the only trigger is a polling one, so a report shows up in your Zap after Zapier's next check, never the second it is created. To weigh other tools before you commit, the Expensify Make integration covers the same app on Make, and there is also our Make vs Zapier comparison.

Vocabulary

Zapier vocabulary in one minute

Seven words come back on every line of this page. Here they are in plain English.

Zap
The automation you build on Zapier: one trigger, then one or more actions that run each time the trigger event happens.
Trigger
The event in an app that starts the Zap. Once the Zap is switched on, Zapier sits and waits for it.
Action
What the Zap does once it has started: the step that writes, sends or moves something on your behalf.
Task
The unit Zapier bills you for: one action your Zap completes successfully. The number on your plan counts those.
Polling vs instant
A polling trigger is checked on a timer, Zapier asks the app for new items. An instant one is reported by the app the moment it happens.
Filter
A step that lets the Zap carry on only when what arrived meets your condition, and stops it quietly otherwise.
Search step
A step that looks up something already stored in an app, so the steps after it can reuse what it found.
Cost

What an Expensify Zap really costs

Zapier bills tasks, and the trigger is free. Checking Expensify for new reports costs nothing, however often Zapier looks.

  • Trigger checkFree, never billed
  • Successful action1 task each
  • Failed actionNot counted
  • Plan neededPaid plan or free trial (premium app)

Each action that succeeds counts as one task, so a Zap with a filter and two actions can eat two tasks per report. A failed action is not counted. The catch here: Expensify is a premium app, so the free plan (100 tasks a month, two-step Zaps, checks every 15 minutes) cannot run it at all. A filter or a search also makes a Zap multi-step, another paid-plan feature.

Put simply: budget one task per report for a one-action Zap, and size the paid plan on how many reports your team files in a month.

Connect

Connect Expensify to Zapier in 3 steps

  1. 01

    Open your Zapier apps

    In Zapier, go to the Apps page of your account and click + Add connection. A connection is your Expensify account linked once to Zapier, then reused by every Zap that touches it.

  2. 02

    Pick Expensify

    Type Expensify in the search box of the dialog, select it, then click Add connection. You need an Expensify account first, plus access to any report or policy you do not own and want the Zap to touch.

  3. 03

    Sign in and allow access

    A new tab opens on Expensify. Sign in with the account the Zaps should act for, then grant Zapier access. From then on, every Expensify step in any Zap can pick this connection.

First Zap

Your first Zap: every new report filed as a PDF

GoalA finance lead at a small US consulting firm wants a PDF of each expense report whose title names a client, ready for rebilling, without logging in to Expensify.

  1. 01

    Build: pick the trigger

    Start a new Zap, choose Expensify as the app and New Report as the event, then select the connection you just made. This is the event that wakes the Zap up.

  2. 02

    Test the trigger

    Run the test. Zapier brings back the three most recent reports of the connected account, so you map the next steps on a real one instead of guessing.

  3. 03

    Add a filter

    From the plus icon, add Filter, then fill the three boxes: the report title, a text rule such as contains, and the client name. A number rule on a title never passes.

  4. 04

    Add the PDF action

    Add Expensify again, event Export Report to PDF. Map the Report ID from the trigger into the Report ID field and decide whether full-page receipts go into the file.

  5. 05

    Test, then Publish

    Test the action and open the PDF it produced. If it looks right, click Publish. The Zap only handles reports created after that moment, not the ones already in Expensify.

Triggers

The Expensify trigger

1 event starts a Zap when something happens in Expensify. Zapier checks for them at the interval your plan allows.

1

New Report

Polling trigger

In Zapier“Triggered when a new report is created.”

Each time a new expense report appears in the connected Expensify account, this trigger hands it to your Zap, and everything after it runs once for that report. It is the only Expensify trigger, so most automations on this page start here.

How it fires
Zapier goes and looks at regular intervals, and how often depends on your paid plan: every 2 minutes on Professional, every minute on Team and Enterprise
When to use it
an operations manager who wants each report copied into the accounting archive, or flagged to a reviewer, without opening Expensify every afternoon.
Watch out
it fires when the report is created, not when it is approved or reimbursed, so a filter cannot wait for a later status on that same report.
Actions

Expensify actions, grouped by what they do

Expensify gives you 4 actions. For each one: what it does for you, when to reach for it, and what to watch out for.

1

Create Expense Report

Action

In Zapier“Only for Expensify Premium users! Creates a new expense report.”

Opens a fresh, named report in Expensify for an employee, so the expenses of a trip or a project have somewhere to land.

When to use it
a project management tool marks a new client engagement as started, and you want its report waiting before the first receipt.
Watch out
it needs a title, the employee's email and a policy, and Expensify keeps this action for its own Premium users.
2

Create Single Expense

Action

In Zapier“Creates a single expense item.”

Writes one expense line for an employee: who spent, at which merchant, on what date and for how much.

When to use it
a mileage or card tool records a spend, and you would rather see it in Expensify than retype it at month end.
Watch out
the amount is read in dollars and cents, and the date field also accepts words like today.
3

Export Report to PDF

Action

In Zapier“Given a Report ID (from a trigger), export that report to a PDF document.”

Turns an existing report into a PDF document, with the option of adding full-page receipts to the file.

When to use it
right after New Report, to keep a frozen copy of each report for an auditor or a client invoice.
Watch out
it needs a Report ID coming from an earlier step of the same Zap, so it never works as a lone first action.
4

API Request (Beta)

Action

In Zapier“This is an advanced action which makes a raw HTTP request that includes this integration's authentication.”

The escape hatch: a raw request to Expensify that reuses the connection you already set up, for anything the ready-made actions skip.

When to use it
a developer on your team knows the exact Expensify call needed and wants it inside a Zap.
Watch out
it only reaches domains tied to Expensify, and you decide whether an error stops the step.
Searches

The Expensify search

1 search step looks for data that already exists in Expensify, so a later step can use it.

A search step finds a report that already exists and passes it on. In the editor, searches sit at the bottom of the Action event list, under the SEARCH heading. Three settings decide what happens when the result is not the one you expected.

1

Find Report

Search

In Zapier“Retrieves a specific expense report, using the report's number.”

Fetches one specific expense report from its number, so later steps can read it or export it.

When to use it
an accountant types a report number into a request form, and the Zap pulls that report to build its PDF.
Watch out
the report number is mandatory, so the step before must carry it in a usable form.

The three settings every search exposes

  1. Successful if no search results are found?
    Left as it is, a search that finds nothing stops the Zap there and skips the steps that needed it. Switched on, the Zap goes on empty-handed.
  2. Create X if it doesn't exist yet?
    This box turns a search into find-or-create. Expensify offers no such variant on Find Report, so you will not see it here.
  3. If multiple search results are found?
    Three ways out: keep the first match (the default), stop the Zap, or pass every match on at once.
When it breaks

When an Expensify Zap breaks

Zapier links no help article to Expensify, so the traps below are the ones every Zap runs into.

Four cases cover most of the surprises. None of them shows up while you build, which is exactly why they are worth reading now. If one has already bitten, our Zapier troubleshooting page walks through the fixes.

  • Old reports are ignored

    A Zap only reacts to what happens after you publish it. Reports already sitting in Expensify are never picked up; moving that backlog is a separate job.
  • A Zap that feeds itself

    If a Zap creates reports in the same account its New Report trigger watches, it sets itself off again and again and drains your tasks fast.
  • A bulk import held back

    After a migration or a mass import, the trigger may suddenly return a huge batch. Zapier's flood protection can hold that batch instead of running it.
  • Duplicates are not your fault

    Zapier remembers which reports it has already seen on this polling trigger, so the same report never starts the Zap twice.
Need help

Need help automating Expensify with Zapier?

A person reads every message.

FAQ

Expensify Zapier integration: your questions

01Is the Expensify Zapier integration free?
No. Expensify is a premium app on Zapier, which means it only runs on a paid plan or during a free trial. The free plan, with its 100 tasks a month and two-step Zaps, cannot use it at all. On top of the Zapier side, note that the Create Expense Report action is kept by Expensify for its own Premium users, so check both sides before you plan a Zap around it.
02How many tasks does an Expensify Zap use?
One task per action that succeeds, nothing else. The New Report trigger is free, and so are all the checks Zapier makes to look for new reports. A Zap that exports each new report to PDF costs one task per report. Add a second action and it costs two. An action that fails is not counted against your plan, so a broken step does not quietly drain your monthly allowance.
03Does Expensify trigger Zaps in real time?
No. New Report is a polling trigger: Zapier goes to check Expensify on a timer, every 2 minutes on Professional and every minute on Team and Enterprise. A new report therefore reaches your Zap at the next check, not the instant it is created. On paid plans you can also run a check by hand from the editor when you are testing and do not want to wait for the next round.
04What does it take to connect Expensify to Zapier?
An Expensify account, plus access to whatever reports and policies you want the Zap to touch if you do not own them. The connection itself takes three moves: add it from the Apps page of Zapier, sign in to Expensify in the tab that opens, and allow access. For Create Expense Report, the account also needs at least one team or corporate policy already in place, or that action will stop at the Policy field.
05Why does Export Report to PDF ask for a Report ID?
Because it works on a report that already exists and has to know which one. The Report ID is meant to come from an earlier step of the same Zap, usually the New Report trigger or the Find Report search. That is why this action never works as the very first step. Map the ID from the step above, test once, and open the generated file to check that receipts appear the way you want.
06What if the Expensify action that fits the job is missing?
Try API Request (Beta) first. It sends a raw request to Expensify through the connection you already made, so no new login is needed. It is an advanced step: it needs the HTTP method and the address, only reaches domains tied to Expensify, and lets you choose whether an error stops the step. If nobody on the team is comfortable with that, the gap is a sign to look at another tool.
07Zapier, Make or n8n for Expensify?
It depends on criteria, not on a winner. First, the operations: compare what each platform offers for Expensify against the steps your scenario needs, here one trigger, four actions and one search on Zapier. Second, the cost model: Zapier bills each successful action as a task, and Expensify is a premium app, so a paid plan is required from the first Zap. Third, timing: the New Report trigger is polled, every 2 minutes on Professional. Finally, who will maintain the automation, and which tool they already know.