Instant, Automatic Gmail Trigger?

I use Gmail for my business.

I want to create a scenario that INSTANTLY triggers every time a new email meeting the specified filter arrives in my inbox.

Here are the problems I have run into:

  1. The Gmail Watch module is a POLL module and not an INSTANT one. I either have to run the scenario manually every time I get a new email that meets the criteria I set up, or I have to set a timer (e.g., every 15 minutes), which I don’t want to do.

  2. Then I created a custom Mailhook. Works fine. But I can only use the Get email function after this. I can’t use the Gmail or Email Watch functions. (I guess since they’re considered triggers, too?)

So even when I receive a new email matching the criteria, and the Mailhook triggers, it retrieves the first email in the Gmail filter search that matches the criteria, and it’s not the newest email.

Everything else in my scenario is working as expected, but I have searched the forums for hours (yes, hours, along with editing my scenario) and I cannot find any who has solved the “instant Gmail” issue.

Can anyone help??

Hey there,

what is the issue with the custom Mailhook exactly? This is the go to method to get instant triggers when an email arrives. It is used to replace the Watch module, not before it.

Hi, the issue is in No. 2 and below (written above).

The mailhook triggers Gmail to search ALL mail that meets the filter criteria, and it always searches for the oldest message.

It’s not really replacing the Watch function because it’s retrieving the newest message. It’s getting the oldest message every time.

@Stoyan_Vatov

Im not sure what you are using but if you replace the Watch module with a Custom Mailhook module, you can then paste that mailhook as a forwarding address in Gmail and all new emails will get forwarded there - thus instantly triggering the scenario when a new email arrives.

Can you show your configuration at the moment so we can see why its working in a different way?

That’s exactly what I’m doing. The Mailhook is working. The issue is that it’s retrieving the OLDEST email and NOT the NEW email that triggers the scenario.

The forwarding is set up and working fine.


Well yeah, cause the Get emails module is just getting emails that match the query. You will have the email coming from the webhook module itself.

Still not clear on the solution

I need the values from the emails to populate my Google Sheet. Don’t see how I’m getting that from the raw Mailhook data

@Stoyan_Vatov

Anyone else have solution?

Assuming you’re stumped, too, @Stoyan_Vatov

Literally just a couple of weeks ago, the Make team released a new version of the Gmail module that is instant, however, it was a bit buggy so they pulled it back into Beta while they worked on it. Here’s hoping they sort it soon and re-release a more stable version :crossed_fingers:

I made a post once I discovered it, and you can read there the Make team’s response:

Welcome to the Make community!

To do this, you can try using the Webhooks “Custom mailhook” module —

Triggers when mailhook receives data.

Once you’ve set up a forwarding address, you can simply edit/modify a Gmail filter directly in Gmail itself to only forward the emails you want.

For more information about the Custom mailhook module and Webhooks app, see the corresponding Integrations page and the Help Centre documentation.

Example

Here is an example of how your scenario could look like:

Screenshot_2025-07-16_142119

This is just an example. Your final solution may or may not look like this depending on your requirements and actual data.

Hope this helps! Let me know if there are any further questions or issues.

@samliew
P.S.: investing some effort into the tutorials in the Make Academy will save you lots of time and frustration using Make!

Yup, that’s exactly what I did. Still doesn’t solve the problem, though.

From above:

“The mailhook triggers Gmail to search ALL mail that meets the filter criteria, and it always searches for the oldest message.”

I only want the most recent message.

That’s not how the Mailhook triggers work. It only receives what Gmail sends to it, and it does not call Gmail to search anything. Delete the Email “Get Emails” module, and solely use the data from the Mailhook trigger module to access the latest email.

You should also do the Make Academy to find out more about trigger modules.

Hope this helps! Let me know if there are any further questions or issues.

@samliew