Extracting link from Gmail Text body

What are you trying to achieve?

I’m trying to extract a very long link from the email body. The link I’m trying to test with has over 1,900 characters in it. the regex code I tried does not seem to work. Also, the text parser module I’m using does not seem to be appearing in the following modules when I go to insert outputs from it into the following modules.

Steps taken so far

Here is the regex code I’m currently using: “http://links.notification.intuit.com/ls/click?upn=[a-zA-Z0-9.-_%]+”

Screenshots: scenario setup, module configuration, errors

blueprint.json (11.4 KB)

1 Like

Not sure why my regex code isn’t posting correctly but here is a screenshot.

1 Like

Hi @Cameron_Day

Please try the below module and share the result. This module will extract all the links. You can filter the desired one before proceeding to next module.

Regards,
Msquare Automation - Gold Partner of Make

@Msquare_Automation

This worked much better! However, now my issue is that I only need the first bundle out of the output. Not sure how to accomplish this.

On a side note, while I was searching for answers I found your channel, and then I came back to my post and you had responded! Crazy coincidence!

1 Like

Hi @Cameron_Day

Glad to hear that. Further to solve your issue, you can apply filtering (after the text parser module) for URL that contains http://links.notification.intuit.com.

Regards,
Msquare Automation - Gold Partner of Make

@Msquare_Automation

I don’t think I’d be able to do that unfortunately, the first 6 links follow the same format. “[http://links.notification.intuit.com/ls/click?upn=3Du001.SkyGoo”. I was able to figure out a solution, I used an array aggregator. I’m not sure exactly how that worked, but it was able to output only the first link, even though it still shows the 8 bundles in the output of the array aggregator.

I would like to know if this is the way to do it, or if there’s a better way. Since I don’t fully understand how my solution works it might present problems down the line if the data changes in some way.

1 Like

HI @Cameron_Day

So out of all matches, what is the uniqueness in them?

Regards,
Msquare Automation - Gold Partner of Make

@Msquare_Automation

Sorry for the late response. The first 6 are identical, so ultimately I’m not too concerned about which one I get. I just want to make sure I’m using the best method.

1 Like

Hi @Cameron_Day

So if you always want to get the first link, then you can setup the filter that says “bundle order position (from module 9) “Equal to” 1”.

In this case, you don’t need to add array aggregator

or if you want to get the first link from all that contains “http://links.notification.intuit.com/ls/click?” and can be at any place (not always 1), then you can setup the filter before array aggregator that says “Match “contains” http://links.notification.intuit.com/ls/click?”. This will only aggregate the links that starts with this url and then you can map the first item from array aggregator directly.

Array aggregator will show all the bundles in output but it will pass only first one while mapping directly.

Regards,
Msquare Automation - Gold Partner of Make

@Msquare_Automation

2 Likes