Hi Atlassian Community!
I’m working with a Jira Automation rule that creates an issue based on an external event/webhook.
The rule works correctly, but occasionally the external system sends the same event more than once, which can result in duplicate Jira issues being created.
I’m considering storing an external unique ID in a custom field and checking with JQL before creating the issue.
Something like:
"External ID" = "{{webhookData.id}}"
If no issue is found, then create the new one.
Is this the approach you normally use for this scenario?
I’d also be interested to know if anyone uses entity properties, issue properties, or another method to make Jira Automation more idempotent.
Thanks!
Hi, welcome to the Atlassian Community!
Yes, using a unique identifier from the external system is usually the safest approach.
I’d store that ID in a Jira custom field and, before creating anything, run a Lookup issues action using JQL such as:
"External ID" = "{{webhookData.id}}"
Then only create the issue when:
{{lookupIssues.size}} = 0
This way, even if the webhook is sent twice, Jira can recognize that the event has already been processed.
I prefer a custom field for this because it also makes troubleshooting easier — admins can search for the external ID directly in Jira.
The important part is making sure the external ID is truly unique and always sent with the event.
For integrations, I think of this as an idempotency check before creation, and it prevents a lot of duplicate-ticket problems.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.