Email Attachment Extraction Make.com + Glide apps

Hey Guys, hope you are well!

Just in a bit of a roadblock here…A client wants us to develop a system which will read every email in an inbox and extract the attachments and input them into glide.

Due to the volume of emails to be processed we are using make to make it feasible.

Below is my scenario…The Iterator takes the Gmail attachment array and uploads each file individually into google drive to get a web view link.

My question is what do I need to add to get all 3 webview links into glide? Im thinking we add a new row to a table and then get all 3 attachment web view links to appear in the same cell which I assume will be separated by a , which can be used to split the text and extract single values…

Any feedback is appreciated!




Regards,

Mitch Francis

Yeah, I think that should work.
Another option could be to post the attachments into a Multiple Files column. I haven’t actually tried it, but I’m pretty sure you can post a collection to a Multiple Files column via the API.

So when the attachments go into the iterator they are in an array but Im not sure how to specify that I want all the files that were listed to go into the post request…When you convert the file to Google Drive it only lets you put 1 option into the Glide extension, not sure how to enter in an array of weblinks…

Not sure if the Make Glide module will handle this use case, but what you could try is an Aggregate to JSON module to map the files to an array/collection, and then pass that along. Again, I’ve not tested this, but logically it should work.

Okay will give it a shot thanks!

Hey Darren,

Just positing this here as the solution…

Here is the blueprint for the scenario if anyones wants to extract attachments from Gmail and put them into Glide

Blueprint
{
    "name": "Integration Microsoft 365 Email",
    "flow": [
        {
            "id": 7,
            "module": "google-email:TriggerNewEmail",
            "version": 2,
            "parameters": {
                "account": 2136414,
                "searchType": "gmail",
                "markSeen": false,
                "maxResults": 10,
                "folder": "[Gmail]/All Mail",
                "xGmRaw": "has:attachment"
            },
            "mapper": {},
            "metadata": {
                "designer": {
                    "x": 0,
                    "y": 0
                },
                "restore": {
                    "parameters": {
                        "account": {
                            "label": "My Google Restricted connection (admin@hiveai.app)",
                            "data": {
                                "scoped": "true",
                                "connection": "google-restricted"
                            }
                        },
                        "searchType": {
                            "label": "Gmail filter"
                        },
                        "folder": {
                            "path": [
                                "[Gmail]",
                                "All Mail"
                            ]
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "account",
                        "type": "account:google-restricted",
                        "label": "Connection",
                        "required": true
                    },
                    {
                        "name": "searchType",
                        "type": "select",
                        "label": "Filter type",
                        "required": true,
                        "validate": {
                            "enum": [
                                "simple",
                                "gmail"
                            ]
                        }
                    },
                    {
                        "name": "markSeen",
                        "type": "boolean",
                        "label": "Mark email message(s) as read when fetched"
                    },
                    {
                        "name": "maxResults",
                        "type": "uinteger",
                        "label": "Maximum number of results"
                    },
                    {
                        "name": "folder",
                        "type": "folder",
                        "label": "Folder",
                        "required": true
                    },
                    {
                        "name": "xGmRaw",
                        "type": "text",
                        "label": "Query",
                        "required": true
                    }
                ]
            }
        },
        {
            "id": 22,
            "module": "google-email:FeedAttachments",
            "version": 2,
            "parameters": {},
            "mapper": {
                "array": "{{7.attachments}}"
            },
            "metadata": {
                "designer": {
                    "x": 300,
                    "y": 0
                },
                "expect": [
                    {
                        "name": "array",
                        "spec": [],
                        "type": "array"
                    }
                ],
                "relative": 7
            }
        },
        {
            "id": 31,
            "module": "builtin:BasicAggregator",
            "version": 1,
            "parameters": {
                "feeder": 7
            },
            "mapper": {
                "cc": "{{7.cc}}",
                "id": "{{7.id}}",
                "to": "{{7.to}}",
                "bcc": "{{7.bcc}}",
                "data": "{{22.data}}",
                "date": "{{7.date}}",
                "from": "{{7.from}}",
                "html": "{{7.html}}",
                "size": "{{7.size}}",
                "text": "{{7.text}}",
                "labels": "{{7.labels}}",
                "headers": "{{7.headers}}",
                "subject": "{{7.subject}}",
                "fileName": "{{22.fileName}}",
                "fileSize": "{{22.fileSize}}",
                "threadId": "{{7.threadId}}",
                "xGmMsgid": "{{7.xGmMsgid}}",
                "contentId": "{{22.contentId}}",
                "messageId": "{{7.messageId}}",
                "attachments": "{{7.attachments}}",
                "contentType": "{{22.contentType}}",
                "headersList": "{{7.headersList}}",
                "messageLink": "{{7.messageLink}}",
                "__IMTINDEX__": "{{22.`__IMTINDEX__`}}",
                "__IMTLENGTH__": "{{22.`__IMTLENGTH__`}}"
            },
            "metadata": {
                "designer": {
                    "x": 600,
                    "y": 0
                },
                "restore": {
                    "extra": {
                        "feeder": {
                            "label": "Gmail - Watch Emails [7]"
                        },
                        "target": {
                            "label": "Custom"
                        }
                    }
                }
            }
        },
        {
            "id": 5,
            "module": "builtin:BasicFeeder",
            "version": 1,
            "parameters": {},
            "mapper": {
                "array": "{{31.array}}"
            },
            "metadata": {
                "designer": {
                    "x": 900,
                    "y": 0
                },
                "restore": {
                    "expect": {
                        "array": {
                            "mode": "edit"
                        }
                    }
                },
                "expect": [
                    {
                        "name": "array",
                        "type": "array",
                        "spec": [],
                        "label": "Array",
                        "editable": true,
                        "mode": "edit"
                    }
                ]
            }
        },
        {
            "id": 29,
            "module": "google-drive:uploadAFile",
            "version": 4,
            "parameters": {
                "__IMTCONN__": 2136414
            },
            "mapper": {
                "select": "value",
                "title": "{{5.fileName}}",
                "filename": "{{5.fileName}}",
                "data": "{{5.data}}",
                "convert": false,
                "destination": "drive",
                "folderId": "/1lqihGyaHYQyX06m5wbXG_3WspW5dgOLE"
            },
            "metadata": {
                "designer": {
                    "x": 1200,
                    "y": 0
                },
                "restore": {
                    "parameters": {
                        "__IMTCONN__": {
                            "label": "My Google Restricted connection (admin@hiveai.app)",
                            "data": {
                                "scoped": "true",
                                "connection": "google-restricted"
                            }
                        }
                    },
                    "expect": {
                        "select": {
                            "label": "Select from the list"
                        },
                        "destination": {
                            "label": "My Drive"
                        },
                        "folderId": {
                            "mode": "chose",
                            "path": [
                                "Royal Union file Test"
                            ]
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:google-restricted",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "select",
                        "type": "select",
                        "label": "Enter a Folder ID",
                        "required": true,
                        "validate": {
                            "enum": [
                                "map",
                                "value"
                            ]
                        }
                    },
                    {
                        "name": "title",
                        "type": "text",
                        "label": "New File Name"
                    },
                    {
                        "name": "filename",
                        "type": "text",
                        "label": "File Name",
                        "required": true
                    },
                    {
                        "name": "data",
                        "type": "buffer",
                        "label": "Data",
                        "required": true
                    },
                    {
                        "name": "convert",
                        "type": "boolean",
                        "label": "Convert a File",
                        "required": true
                    },
                    {
                        "name": "destination",
                        "type": "select",
                        "label": "New Drive Location",
                        "required": true,
                        "validate": {
                            "enum": [
                                "drive",
                                "share",
                                "team"
                            ]
                        }
                    },
                    {
                        "name": "folderId",
                        "type": "folder",
                        "label": "New Folder Location",
                        "required": true
                    }
                ],
                "advanced": true
            }
        },
        {
            "id": 34,
            "module": "google-drive:shareAFileFolder",
            "version": 4,
            "parameters": {
                "__IMTCONN__": 2136414
            },
            "mapper": {
                "file": "{{29.id}}",
                "role": "reader",
                "type": "anyone",
                "select": "file",
                "destination": "drive",
                "allowFileDiscovery": false
            },
            "metadata": {
                "designer": {
                    "x": 1500,
                    "y": 0
                },
                "restore": {
                    "expect": {
                        "file": {
                            "mode": "edit",
                            "path": []
                        },
                        "role": {
                            "mode": "chose",
                            "label": "Reader"
                        },
                        "type": {
                            "mode": "chose",
                            "label": "Anyone"
                        },
                        "select": {
                            "label": "File"
                        },
                        "destination": {
                            "label": "My Drive"
                        },
                        "allowFileDiscovery": {
                            "mode": "chose"
                        }
                    },
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "google-restricted"
                            },
                            "label": "My Google Restricted connection (admin@hiveai.app)"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:google-restricted",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "destination",
                        "type": "select",
                        "label": "Choose a Drive",
                        "required": true,
                        "validate": {
                            "enum": [
                                "drive",
                                "share",
                                "team"
                            ]
                        }
                    },
                    {
                        "name": "select",
                        "type": "select",
                        "label": "Select",
                        "required": true,
                        "validate": {
                            "enum": [
                                "file",
                                "folder"
                            ]
                        }
                    },
                    {
                        "name": "role",
                        "type": "select",
                        "label": "Role",
                        "required": true,
                        "validate": {
                            "enum": [
                                "owner",
                                "writer",
                                "commenter",
                                "reader"
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "type": "select",
                        "label": "Type",
                        "required": true,
                        "validate": {
                            "enum": [
                                "user",
                                "group",
                                "domain",
                                "anyone"
                            ]
                        }
                    },
                    {
                        "mode": "edit",
                        "name": "file",
                        "type": "file",
                        "label": "File ID",
                        "required": true
                    },
                    {
                        "name": "allowFileDiscovery",
                        "type": "boolean",
                        "label": "Allow File Discovery",
                        "required": true
                    }
                ],
                "interface": [
                    {
                        "name": "kind",
                        "type": "text",
                        "label": "Kind"
                    },
                    {
                        "name": "id",
                        "type": "text",
                        "label": "File ID"
                    },
                    {
                        "name": "type",
                        "type": "text",
                        "label": "Type"
                    },
                    {
                        "name": "shareLink",
                        "type": "url",
                        "label": "Share Link"
                    },
                    {
                        "name": "emailAddress",
                        "type": "text",
                        "label": "Email Address"
                    },
                    {
                        "name": "domain",
                        "type": "text",
                        "label": "Domain"
                    },
                    {
                        "name": "role",
                        "type": "text",
                        "label": "Role"
                    },
                    {
                        "name": "allowFileDiscovery",
                        "type": "boolean",
                        "label": "Allow File Discovery"
                    },
                    {
                        "name": "displayName",
                        "type": "text",
                        "label": "Display Name"
                    },
                    {
                        "name": "photoLink",
                        "type": "text",
                        "label": "Photo Link"
                    },
                    {
                        "name": "expirationTime",
                        "type": "date",
                        "label": "Expiration Time"
                    },
                    {
                        "name": "teamDrivePermissionDetails",
                        "spec": {
                            "spec": [
                                {
                                    "name": "teamDrivePermissionType",
                                    "type": "text",
                                    "label": "Team Drive Permission Type"
                                },
                                {
                                    "name": "role",
                                    "type": "text",
                                    "label": "Role"
                                },
                                {
                                    "name": "inheritedFrom",
                                    "type": "text",
                                    "label": "Inherited From"
                                },
                                {
                                    "name": "inherited",
                                    "type": "boolean",
                                    "label": "Inherited"
                                }
                            ],
                            "type": "collection"
                        },
                        "type": "array",
                        "label": "Team Drive Permission Details"
                    },
                    {
                        "name": "permissionDetails",
                        "spec": {
                            "spec": [
                                {
                                    "name": "permissionType",
                                    "type": "text",
                                    "label": "Permission Type"
                                },
                                {
                                    "name": "role",
                                    "type": "text",
                                    "label": "Role"
                                },
                                {
                                    "name": "inheritedFrom",
                                    "type": "text",
                                    "label": "Inherited From"
                                },
                                {
                                    "name": "inherited",
                                    "type": "boolean",
                                    "label": "Inherited"
                                }
                            ],
                            "type": "collection"
                        },
                        "type": "array",
                        "label": "Permission Details"
                    },
                    {
                        "name": "deleted",
                        "type": "boolean",
                        "label": "Deleted"
                    },
                    {
                        "name": "webContentLink",
                        "type": "url",
                        "label": "Web Content Link"
                    }
                ]
            }
        },
        {
            "id": 32,
            "module": "util:TextAggregator",
            "version": 1,
            "parameters": {
                "rowSeparator": "\n",
                "feeder": 5
            },
            "mapper": {
                "value": "{{34.shareLink}},"
            },
            "metadata": {
                "designer": {
                    "x": 1800,
                    "y": 0
                },
                "restore": {
                    "parameters": {
                        "rowSeparator": {
                            "label": "New row"
                        }
                    },
                    "extra": {
                        "feeder": {
                            "label": "Iterator [5]"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "rowSeparator",
                        "type": "select",
                        "label": "Row separator",
                        "validate": {
                            "enum": [
                                "\n",
                                "\t",
                                "other"
                            ]
                        }
                    }
                ],
                "expect": [
                    {
                        "name": "value",
                        "type": "text",
                        "multiline": true,
                        "label": "Text"
                    }
                ],
                "advanced": true
            },
            "flags": {
                "groupBy": ",",
                "stopIfEmpty": true
            }
        },
        {
            "id": 17,
            "module": "app#glide-tables-eyccbb:getRow",
            "version": 1,
            "parameters": {
                "__IMTCONN__": 2136435
            },
            "mapper": {
                "app": "NvO6b8o3JqKZzVnEpKGy",
                "rtTaj": "{{32.text}}",
                "table": "native-table-O9vcmqvSlA7rRrToBbjI"
            },
            "metadata": {
                "designer": {
                    "x": 2100,
                    "y": 0
                },
                "restore": {
                    "expect": {
                        "app": {
                            "mode": "chose",
                            "label": "Royal Union "
                        },
                        "table": {
                            "mode": "chose",
                            "label": "email"
                        }
                    },
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "app#glide-tables-eyccbb"
                            },
                            "label": "My Bearer connection"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:app#glide-tables-eyccbb",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "app",
                        "type": "select",
                        "label": "App",
                        "required": true
                    },
                    {
                        "name": "table",
                        "type": "select",
                        "label": "Table",
                        "required": true
                    },
                    {
                        "name": "rtTaj",
                        "type": "text",
                        "label": "attachments"
                    },
                    {
                        "name": "Name",
                        "type": "text",
                        "label": "email"
                    },
                    {
                        "name": "jVfvp",
                        "type": "text",
                        "label": "body"
                    },
                    {
                        "name": "qsxdb",
                        "type": "text",
                        "label": "cc"
                    },
                    {
                        "name": "loPUI",
                        "type": "text",
                        "label": "bcc"
                    }
                ]
            }
        }
    ],
    "metadata": {
        "instant": false,
        "version": 1,
        "scenario": {
            "roundtrips": 1,
            "maxErrors": 3,
            "autoCommit": true,
            "autoCommitTriggerLast": true,
            "sequential": false,
            "confidential": false,
            "dataloss": false,
            "dlq": false,
            "freshVariables": false
        },
        "designer": {
            "orphans": []
        },
        "zone": "us1.make.com"
    }
}
2 Likes

Nice job :+1:

I’ve tidied up the formatting of the blueprint for you.

1 Like