An instance of Logic App runs for every e-mail attachment in e-mail rather than once per e-mail + anywhere can set polling interval for when e-mail flagged trigger

Philip O'Rourke 111 Reputation points
2024-02-09T15:48:04.23+00:00

Hi,

New to Logic Apps in Azure

Have an azure logic app which fires on e-mail with attachments trigger which we get from certain people.

If have e-mail with n attachments, see n instance of logic app running.

Notice in current production Logic App designer View, splitter is set to default on.

Would have thought could set this to off but the get error null array.

User's image

New Logic App Designer View (Preview)

User's image

The way we have this working currently is just setting concurrency control to 1 and seems to work most of time.

I have a few questions

  1. How can we populate array in logic app with the value of attachments if set splitter off?
  2. Is there somewhere that can set polling interval to determine when checks to see if email flagged? Occassionally see trigger firing at 9.45 p.m. for some reason even though no email sent then as if some delayed run?
  3. Notice in New Designer View not even a splitter option to disable.

Want to ensure best way of ensuring only 1 instance of Logic App runs when get e-mail flagged regardless of number of attachments in e-mail as have foreach loop in the Logic App itself to iterate over the attachments.

Thanks

Azure Logic Apps
Azure Logic Apps
An Azure service that automates the access and use of data across clouds without writing code.
2,715 questions
{count} votes

1 answer

Sort by: Most helpful
  1. MayankBargali-MSFT 67,081 Reputation points
    2024-02-15T11:26:17.49+00:00

    @Philip O'Rourke Thanks for reaching out.

    In polling trigger where you specify the time when you want to check if there are any new items available. If there are multiple items available and you have specified, (on) the Split on condition then your individual items will be executed in different instances of the workflow.

    In your case the trigger is not a polling trigger so ideally all the new email would be running in the different instances of the workflow.

    The other option concurrency control you define maximum instances of your workflow that could run at the same time. If you have disabled it, then by default multiple instances would be running processing different emails as per your trigger. If you enable it and set the Degree of parallelism to 1 then it means only one instance of your workflow would be running and at a time one email would process from your workflow. Once it is completed and if there are any other emails that are in queue will be processed one by one.

    How can we populate array in logic app with the value of attachments if set splitter off? It is for the emails and not for the attachment.

    Is there somewhere that can set polling interval to determine when checks to see if email flagged? Occassionally see trigger firing at 9.45 p.m. for some reason even though no email sent then as if some delayed run? Only for the polling trigger you can find the configuration to check for items after a particular time. Sometime there could be delay of few min.

    Notice in New Designer View not even a splitter option to disable. Split on would not be valid as it not the polling trigger.

    Hope the above clears your concerns and let me know if you have any queries or concerns.