Skip to content

Every document that arrives by email read into a sheet, scans included

Every fifteen minutes, one Make scenario takes each new email in a shared inbox, turns PDF pages into images, reads them in a single OpenAI Vision call, writes the fields to a row in Google Sheets and files the original in Google Drive with a share link in the same row. Emails with nothing attached are logged too.

AI & decision supportFlow2025

Where this applies

Property companies, accountants, insurers and any team that receives documents by email and keeps their key fields in a spreadsheet.

runs between 4 and 21 October, three errors
1,045+
between inbox checks
15 min
Vision call per PDF, every page included
1

The problem

A property business receives a steady stream of documents by email. Some are digital PDFs, many are scans, and some arrive as a message with nothing attached. Someone opens each one and types the important parts into a spreadsheet.

Plain text extraction handles the digital PDFs and fails on the scans, which are the ones that take longest by hand. And a row in a sheet without the original a click away is a row nobody trusts.

What we built

01

Route by what arrived

A router first separates emails with attachments from those without. Attachments are iterated one at a time, and a second router sends each by type: one route for PDFs that go straight to page images, one for PDFs that are converted first, and one for other files, which are filed and logged without being read.

02

Pages to images, one Vision call

PDF.co turns each PDF into page images. An iterator makes each page a JSON fragment, which is parsed and collected by an array aggregator into one list, so a ten-page scan is one Vision request carrying ten images, not ten requests that each see a single page.

03

Read, then structure

OpenAI Vision reads the pages and a completion turns what it read into the fields the sheet expects. The original is uploaded to Google Drive, a share link is created, and one row is added with the fields and the link together.

04

Mail with nothing attached

An email with no attachment is not dropped: one route logs it as missing an attachment, and another has a completion read the body and logs what it finds.

05

One bad file does not stop the rest

Four skip handlers sit on the steps most likely to fail, such as a PDF that will not convert or a body that cannot be read, so an unreadable attachment is passed over and the others in the same email are still processed.

The outcome

  • The scenario is live and checks the inbox every fifteen minutes. Between 4 and 21 October 2026 it ran at least 1,045 times, with three errors; the history scan was capped, so the real count is higher.

  • It used 3,799 credits in that window and 6,548 in the current billing period.

  • Built in June 2025 and last changed on 7 October 2026.

Where it stops

The scenario reads and files; it does not check what it extracted, so a misread field reaches the sheet as read, with the original linked beside it. Files that are not PDFs are filed and logged without being read. The skip handlers keep a run going but mean a skipped attachment shows only as a missing row. An instant-trigger version of the same pipeline is switched off and is not described.

Built with

  • Make.com
  • Gmail
  • PDF.co
  • OpenAI Vision
  • Google Drive
  • Google Sheets

Patterns used

  • Pages as one multi-image call
  • Route by file type
  • Skip, don't stop
  • Original linked in the row

Page copy drafted with AI assistance. Skofi is accountable for it. Editorial policy

Start here

Have something shaped like this?

If any part of the above resembles a problem you are living with, a short call is the fastest way to find out whether it is the same problem underneath.

Book a 15-minute callsaveez@skofi.tech

What happens on the call

  • 15 minutes, no deck
  • We map the process on the call
  • A written scope, or an honest no
Book a call