TRYDLY
TRYDLY
We try it. You decide.

Every invoice in my inbox files itself into a spreadsheet

Three steps in Make: Gmail watches a label, Claude reads the email, Google Sheets writes the row. Here is the exact build — including the part that quietly broke the first time.

What you need first

  1. A Gmail label called Invoices, with a few real invoices moved into it.
  2. A Google Sheet named Invoices with these headers in row 1:
    Date | Vendor | Invoice number | Amount | Currency | Due date | Email link
  3. A free Make account and an Anthropic API key. The extraction costs a fraction of a cent per invoice.

The scenario — three modules

Module 1 — Gmail: Watch emails Folder or label: Invoices. Criteria: all messages. Mark as read: no. Set the limit to 1 while you are testing.
Module 2 — Anthropic Claude: Create a Prompt Model claude-haiku-4-5, max tokens 500, one message with the role user and input type Single string. The prompt is below.
Module 3 — Google Sheets: Add a Row Map the fields from Claude's jsonResponse output into the columns. Make parses the JSON for you, so there is no need for a separate parsing module.
The three-module scenario in Make: Gmail, Anthropic Claude, Google Sheets
The whole thing. Three modules, no branching, no error handlers.

The prompt

Extract invoice data from the email below.
Return ONLY raw JSON. No markdown, no code fences, no explanation.

Keys: date, vendor, invoice_number, amount, currency, due_date
Dates as YYYY-MM-DD. Amount as a number, no currency symbol.
Use an empty string for anything missing.
Start your response with { and end with }. Nothing before or after.
If no invoice date is stated, use the email date.

EMAIL DATE: [Gmail: Date]
SUBJECT: [Gmail: Subject]
BODY: [Gmail: Full text body]

The three bracketed values are fields mapped from the Gmail module, not typed as text.

The part that broke

The first run showed three green checkmarks. Everything looked fine. The row in the spreadsheet came out empty.

The spreadsheet row with every extracted field empty, only the email link filled in
Date, vendor, invoice number, amount, currency — all empty. The run said success.

Claude had wrapped its answer in a markdown code block — three backticks and the word json at the top, three backticks at the bottom. Make could not read that as JSON, so every field arrived empty. Nothing failed loudly. Only the email link, which comes from Gmail rather than from the model, made it into the sheet.

Claude's output in Make, wrapped in a markdown code fence
The culprit. Valid JSON, wrapped in something that is not JSON.
The fix is one line in the prompt:
Start your response with { and end with }. Nothing before or after.
The same spreadsheet row after the fix, fully populated
The same row after one line was added to the prompt.

This is worth knowing beyond this particular build. Automations that silently produce nothing are harder to catch than ones that throw an error, because the run reports success and you only find out later that the data was never there.

Two more things that cost time

The email link opened the wrong account

The link column is built from https://mail.google.com/mail/u/0/#all/ plus the Gmail message ID. The u/0 means "first signed-in account". If your invoices live in a second Google account, it has to be u/1 or u/2, or every link opens the wrong inbox.

The date column came back empty

Telling the model to fall back to the email date does nothing unless you actually pass it the email date. That is why EMAIL DATE is in the prompt above.

What this does not do

It reads the email text, not PDF attachments. Invoices that arrive as a bare PDF with an empty message body will produce an empty row. Handling those needs an extra step — converting the attachment to text first — which roughly doubles the operations each invoice costs.

The tool

This runs on Make. The free plan covers 1,000 operations a month and this scenario uses three per invoice, which is enough for a few hundred invoices a month without paying anything.

Try Make free

That link gives you the Core plan free for a month, including 10,000 credits. It is an affiliate link, which means TRYDLY earns a commission if you later pay for it. It costs you nothing extra, and it did not decide the verdict — the limitation above is on this page precisely because it is real.