the behavior of the IBM MQ trigger in Azure Logic Apps is based on polling, and it does not have built-in functionality to trigger only for new messages while ignoring old messages.
When the MQ trigger executes, it polls the IBM MQ queue at a fixed interval and retrieves all available messages in the queue, including both new and old messages that are still present. The trigger then passes these messages to the Logic App for processing.
As a result, the MQ trigger does not have a direct mechanism to distinguish between new and old messages based on the trigger itself. If you need to process only new messages and ignore the old ones, you would need to implement custom logic within your Logic App.
One common approach to handle new messages while ignoring old ones is to keep track of the last processed message's timestamp or identifier in an external storage (e.g., Azure Blob Storage, Azure SQL Database). Then, during each trigger execution, you can compare the messages' timestamps or identifiers with the last processed value and filter out messages that have already been processed.
It's essential to carefully design and implement the filtering logic to ensure that you process messages accurately while avoiding duplication or missing any important messages.