Gmail – Automating Predictable Received Gmail Attachments

gmailgoogle-apps-scriptpdf

BACKGROUND:
I work in a small construction business. On a regular basis, I get emailed time sheets that I use to attach to / write invoices with.

Would it be possible to

  1. Send an automatic received receipt exclusively to emails that send time-sheet type image or PDF attachments.
  2. Label the Gmail with 1 or 2 separate labels like "time-sheets" and "downloaded"( read next part )

  3. send the attachment to a specific google drive folder.

What I actually do

  1. I have Gmail filters that automatically label emails as "timesheets."
  2. I do a search in my Gmail for: to:myEmail@gmail.com has:attachment
  3. I then look at attachments to make sure they are in fact actually time-sheets
  4. Then I give a one-word email reply "Received."
  5. I download the file to my specific Google drive folder.
  6. Then I label the email as: "Downloaded"

Ideas I've tried or entertained:

  • A chrome-app that cache's ALL attachments with a specific label to a Google drive folder.

    Problem is that I can't distinguish If it is an older email I've already invoiced or a new one that needs to be invoiced.

  • Ask subcontractor's / employees to use a specific string in their subject line like "#time-sheets" help better identify emails at specifically time sheets rather than any attachment.

  • Have subcontractors enter information into a Google form in place of a time sheet, that populates a spreadsheet … that generates an invoice.

    Problem: I need a builders signature on every time sheet to validate work performed by employees / subcontractors.*

  • Use a PDF form and websites like HelloSign & Acrobat's version of that.

    Problem: I really don't know where to learn how to make these, or if they will properly solve my problem of automating received receipts and depositing said PDF's into a Google drive folder.

Best Answer

You can get part of the way there with just Gmail. Add in something like IFTTT and you can get a little further. Note, however, that it's probably not going to be as intelligent as you'd like it and you may occasionally get false matches.

Here's my take on it:

  1. Send an automatic received receipt exclusively to emails that send time-sheet type image or pdf attachments.

You'll need to turn on the "Canned Responses" Gmail Lab. Create a canned response with your response text ("Received").

Then, adjust or create a filter:

to:myEmail@gmail.com has:attachment .pdf

That should pick up any PDF file that's sent to you. (You could get a false match if someone sends some other sort of attachment and puts the string ".pdf" somewhere in their message.)

If you want to match on more file types, you can do something like

.png OR .jpg OR .gif OR .tiff OR .jpeg OR .tiff

For the action, choose "Send a canned response" and, obviously, choose the canned response you created earlier.

  1. Label the gmail with 1 or 2 separate labels like "time-sheets" and "downloaded" (read next part)

In order to label a message via filter with two separate labels, you'll need to have two separate filters. Just copy the criteria for one filter to the other. (If you're ambitious, you can export your filters, edit the resulting XML, then re-import them.)

  1. send the attachment to a specific google drive folder

You can easily do that with an IFTTT recipe. The Gmail channel lets you trigger on a Gmail search and then you can use that to save to Google Drive. Here's a recipe that's similar to what you'd want to do.

The trouble is, this probably isn't going to be sufficient.

You need to check that the attachment is an actual timesheet and that it's signed. You'll need human intervention for that. It'll also be easy to get messed up when someone sends a PDF that's not a timesheet. You might be able to ameliorate that a bit by having your senders put a specific keyword in the subject which you can use in your filter, but then you still have plenty of potential for false-positives (when they use the keyword incorrectly) or false-negatives (when they forget to use it).

You probably need to find some sort of process flow system that can automate your process, but if that's the nature of your question I'm afraid it's outside the ken of this site. (This site is for questions about apps you're already using, not help in finding an app to use.)