What is your goal?
Scenario Summary & Objectives
Overall Purpose & Goal:
The primary objective of this scenario is to monitor new job request submissions from Google Forms, process associated application files from Google Drive, aggregate details across single or multiple job roles—including capturing any associated attachments—and isolate a clean Hiring Manager email address to automatically create a formatted draft in Gmail and update Google Sheets.
Detailed Module Flow & Roles:
Google Sheets (Watch Responses / New Rows): Triggers the scenario whenever a new job request form is submitted via Google Forms.
Google Drive (Search Files/Folders & Download a File): Searches for target application files/folders based on the form submission and downloads the file content or attachments.
Array Aggregator & Iterator: Batches and loops through individual data bundles so multiple roles or attachments within the same batch are handled iteratively.
Text Aggregator [16]: Combines multi-role details, descriptions, and contact info into a structured, unified text block.
Text Parser [27]: Scans the aggregated text to isolate and extract a single, properly formatted email address out of multi-role/multi-line content.
Gmail [12]: Uses the extracted email address to create a draft email with the compiled role information and attached files.
Google Sheets [21]: Updates the corresponding row in the tracking sheet with current status, timestamp, and draft confirmation.
Screenshots & Data:
I’ve attached screenshots showing my overall scenario flow, module setups, and bundle outputs below.
Any advice on the cleanest way to parse out this email address would be hugely appreciated! Thank you!
What is the problem & what have you tried?
My scenario aggregates multiple roles into a single text block. The aggregated text contains the contact email (labeled as Hiring Manager: [email protected]). Because multiple roles are aggregated together, the email string repeats or contains multiple trailing lines of text. I need to isolate just the pure email address to send or draft an email.
split() and get() inline formulas: Tried splitting on “Hiring Manager:” and getting index 2. Because there are multiple roles aggregated, this grabs all the trailing text from subsequent roles, causing Gmail to fail validation.
replace() inline regex: Tried extracting the email pattern directly inside the Gmail field, but ran into object-versus-string type errors (16. Tools - Text aggregator [bundle] vs 16. text).
Text Parser (Match pattern) module: Placed a Text Parser module between the Text Aggregator and Gmail, but the execution returned no output bundle / no match.
Error messages or input/output bundles
Here is a breakdown of the specific errors and input/output issues encountered throughout this scenario setup:
Error Messages & Failures Encountered
Gmail Recipient Validation / Invalid Format Error
Cause: Using split( … ; “Hiring Manager:” ) ; 2 when multiple roles were aggregated into text module 16.
What Happened: Index 2 captured everything after the first match—including subsequent roles, extra text, and newlines. Gmail rejected the multi-line block as an invalid email address.
Couldn’t map the to field in createADraft. The replace function got an object from 16 instead of text.
Cause: Mapping the top-level module container 16. Tools - Text aggregator [bundle] into string functions (split(), replace(), parseEmail()).
What Happened: The functions expect a primitive text string, but Make passed the entire bundle collection (an object).
Formula Syntax Error (Trailing Semicolon)
Cause: Having a stray semicolon chip ; right before the closing bracket ) inside the replace() function (e.g., replace( … ; $1 ; )).
What Happened: Make’s parser interpreted the trailing semicolon as a missing argument, preventing the formula from executing.
Literal Quotes in Regex / String Operations
Cause: Explicitly typing double quotes " " into formula text parameters (e.g., “Hiring Manager:”).
What Happened: Make searched for literal quote characters inside the text instead of the actual phrase, returning an empty result.
Input / Output Data Issues
Text Parser Returned 0 Matches (Empty Output Bundle)
Input: Multi-line text string passed from 16. text.
Issue: The regex pattern [a-zA-Z0-9._%±]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,} ran without capturing parentheses () or without line-break flags enabled (Multiline / Singleline).
Result: Module 26/27 executed with 1 credit used and no error, but “View raw output” was greyed out because no match variables (like $1) were produced.
Missing Module Outputs in Mapping Panel
Issue: Text Parser [27] didn’t appear in the right-hand mapping sidebar when editing the Gmail module.
Cause: Module ID updates (recreating or replacing module 26 with 27) required refreshing/re-opening the Gmail module window so Make could fetch the new module schema.

