Skip to main content
Question

Custom Mailhook in Action Flows?

  • July 23, 2026
  • 5 replies
  • 542 views

ktrs
Level 4
Forum|alt.badge.img

Hello,

In make.com, there is a very useful Custom Mailhook module, which triggers immediately upon receipt of an email.

This module was left out in Action Flows for some reason. Why is that?

I cannot use Watch Emails module, as this is polling based and the smallest polling interval would be 1 minute, which is too long for my use case. I need immediate triggering.

Best,

Ercan

5 replies

Harshit Jain
Celonaut
Forum|alt.badge.img+1

Hi Ercan,

I would recommend you to use Gmail Watch Emails if you have your account on Gmail.com
This module will instantly detect any new emails based on your configuration and trigger your action flow.
Let me know if you have more questions.


ktrs
Level 4
Forum|alt.badge.img
  • Author
  • Level 4
  • July 27, 2026

Hi Harshit,

thanks for you suggestion. However my question was regarding to the “Microsoft Outlook 365 Watch Emails” module. That one does not trigger immediately, but polls every N minutes, based on the schedule.

Also, I don’t really understand the difference between Search Emails and Watch Emails, if the latter does not trigger immediately upon the arrival of an email anyway.

Best


abhishek.chatu14
Level 12
Forum|alt.badge.img+8

The Custom Mailhook is available in Action Flows under Webhooks. You can use it instead of the polling-based Watch Emails module for immediate email-triggered execution

If the Custom Mailhook option is not available in your tenant, please raise this as a platform/support question and include the following details:

  • Your tenant/realm
  • A reference that the documentation lists Webhooks > Custom Mailhook as a supported option

https://docs.celonis.com/en/webhooks--action-flow-.html


ktrs
Level 4
Forum|alt.badge.img
  • Author
  • Level 4
  • July 28, 2026

Thanks for your suggestion ​@abhishek.chatu14 . 

I have raised it as a support ticket. The team told me that the documentation is false. Action Flows do NOT support Custom Mailhooks.

The solution: apology for the misleading documentation and removing Custom Mailhooks from the documentation, instead of actually providing it in Action Flows. Amazing...


ktrs
Level 4
Forum|alt.badge.img
  • Author
  • Level 4
  • July 28, 2026

For future reference, in case anyone has the same problem: if you are using Outlook 365, you can create a subscription via Graph API, which can call any URL as soon as an email is received. We can use this as a workaround.

First, create a new scenario named “Mailhook” that consist of a Webhook and a Webhook response module. The Webhook response should only run if the webhook payload contains a variable “validationToken” (set a filter for that). It should return code 200 and the contents of that validationToken as plain text in its body.

Then, we’ll use the MS Graph API to create a subscription. For that, create another scenario named “Create Subscription” with an “Outlook 365 - Make an API Call” module.  Fill it with:

URL: /v1.0/subscriptions

Method: POST

Body:

{
  "changeType": "created",
  "notificationUrl": "<YOUR WEBHOOK URL FROM THE PREVIOUS STEP>",
  "resource": "me/mailFolders('Inbox')/messages",
  "expirationDateTime": "2026-07-30T18:23:45.0000000Z"
}

Run this module. Save the returned subscription ID. We’ll need that for renewal. Every subscription expires after max. 3 days. It needs to be regularly renewed. For that, create another scenario “Renew Subscription” with another “Outlook 365 - Make an API Call” module.  Fill it with:

URL: /v1.0/subscriptions/<RETURNED SUBSCRIPTION ID>

Method: PATCH

Body:

{
  "expirationDateTime": "{{formatDate(addDays({{now}}; 3); "YYYY-MM-DDTHH:mm:ss.SSSSSSZ")}}"
}

Schedule this scenario to run every 2 days.

From now on, every time a new email is received, the initial webhook scenario will be triggered. You can extend that scenario (fork the flow with a router after the Webhook module) to fetch the email ID from the Webhook payload, and then use the built-in Outlook Module “Get an Email” with that ID to fetch and process the newly received email.

Of course, you could save yourselves all this work if the Action Flows just included the Custom Mailhook module like make.com, but unfortunately it continues to be an arbitrarily decimated version of make.com.