The Google Script will save file attachments from Gmail threads marked with a particular label to a specific folder in Google Drive. It takes the last email message in a thread and saves the first attachment to Drive. Credit: S. Dolidze
Also see: Save Gmail Attachments to Google Drive
function main() { var label = "Clients/New York/Design"; var folder = "design-assets"; folder = DriveApp.createFolder(folder); GmailApp .getUserLabelByName(label) .getThreads() .map(lastMessage) .map(extractAttachment) .forEach(saveFile(folder)); } function lastMessage(thread) { return thread.getMessages().pop(); } function extractAttachment(message) { var blob = message.getAttachments()[0].copyBlob(); var filename = message.getFrom() + "." + extension(blob.getName()); blob.setName(filename); return blob; } function extension(filename) { return filename.split(".").pop(); } function saveFile(folder) { return function(blob) { folder.createFile(blob); Logger.log("Saved file " + blob.getName()); }; }