Hi All,
I have configured Incoming Call Routing in Jira Service Management with an auto attendant:
Key 1 → report a critical incident (should create a P1 alert)
Key 2 → general inquiries (should create a P3 alert)
I created two Alert processing rules named Phone Alert - Key 1 (Priority P1) and Phone Alert - Key 2 (Priority P3). Alerts are being created and I can see in the activity log that the correct rule is applied per key:
Alert created via IncomingCall[...-Phone Alert - Key 1] "The caller has entered 1" (or 2)
In the Alert processing rules I have created 2 create alert rules. What should be configured in the Alert filter conditions to consider the user selected key 1?
I tried to select
Type equals Phone AND Body contains "entered 1
After this the alert creation has stopped. Is it possible to do in JSM Cloud? I can not find the detailed description and examples of Filter type configuration.
Hi @AY3. I have not found a filter variable that carries the pressed key, and Atlassian's own suggestion for what you are building is OPSGENIE-266, which asks for the auto-attendant to set the priority when the caller dials in. Gathering Interest since 2022, and the Current Workaround section of its description reads None. It sits under the Opsgenie project because that is where incoming call routing came from.
The mechanism, from an Atlassian Team answer on an older Opsgenie thread asking your exact question, is that the alert is created as soon as the call arrives and Responders is the only field the caller's key can change afterwards. JSDCLOUD-19270, raised last month, asks for the caller's name and the pressed key to be put into the alert title, so neither is in there today.
What killed your alerts is documented. At most one action executes per incoming event, and if no filter matches, nothing happens. Your AND never matched, so nothing got created. Put the rule back to All the alerts (no conditions in use), and if creation returns, that was it.
The page you could not find is Work with alert filters. It has the three condition match types and every operator, Equals, Contains, Matches (Regex) and the rest.
About that log line though. With two create rules and neither carrying a condition, only the first in the list should ever fire. You wrote "or 2", so if you genuinely see Phone Alert - Key 2 named on a key 2 call, I have this wrong.
Alert processing rules sit inside a call routing's own Call settings, so a second Twilio number kept for critical calls could carry a flat P1 with no condition on it at all. Costs you the single-number menu.
I have not had a Twilio number of my own to test the key-press path against, so the timing above is Atlassian's word rather than mine.
Thank you, your reply was partially helpful. I've voted on OPSGENIE-266. I also found this related community thread that may be relevant.
Based on what I see, the functionality I was expecting may not actually be supported
- the Body field contains no information about the pressed key. Here is the relevant excerpt from the Jira Admin → Audit Logs to illustrate the issue:
_result: alertAction: create
integrationName: JSM-TWILIO-555555
integrationActionName: Phone Alert - Key 1
_incomingData:
_parsedData:
Type: phone
alertSource: com.opsgenie.client.model.dto.ActionSourceCustomDto@7115473d[ domain=integration, sourceType=IncomingCall, sourceName=JSM-TWILIO-555555, incomingDataId=7f75267a-a8df-416a-b615-4xxx, sourceSubName=Phone Alert - Key 1, customSourceName=<null>, actorUserId=<null> ]
delayIfDoesNotExists: true
To: +555555
From: +444444
Body: null
Type: phone
integrationType: IncomingCall
integrationName: JSM-TWILIO-555555
integrationId: e10115e9-9fd4-487f-a149-3xxx
To: +555555
From: +444444
As you can see, Body is null, which is exactly what my original question was about.
Regarding the filters page — yes, I did review it. The problem is that it does not document the possible values. For example, for Type I can see that phone is valid, but what other values are supported (e.g., DTMF key, etc.)? Likewise, what values can appear in the Body and other fields?
At the moment, my only option is to reverse-engineer this from the audit logs, which is not sustainable.
KR,
Andrei
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @AY3. Thanks for posting the log, that is better evidence than anything I had, and Body null answers the original question.
On your real one, the page that documents the variables is not the filters page, it is "Work with alert properties". It sits at the URL /docs/work-with-dynamic-properties/, which is a decent part of why you could not find it. Its point is that the property set is specific to each integration and that the filter condition drop-down is where that integration's set is listed. So the drop-down is the enumeration. Thin, but that is what there is: I have not found a per-integration value list published anywhere else, and that is what leaves the filters page reading the way it does.
The part worth ten minutes is further down the same page. Anything the integration sends that is not offered as a draggable property is still reachable as {{_payload.whatever}}, nested paths included, alongside {{_headers.x}} and {{_url.x}}. That page also carries the list of integrations that do not support alert properties, and incoming call is not on it. Put a probe in the Message of a rule with no conditions and read the raw incoming data off the alert itself rather than the Jira audit log. I have not had a Twilio number to try that against, so treat it as a test rather than an answer.
The key does exist, only after the alert does, in the activity log. If you want it automated: GET /jsm/ops/api/{cloudId}/v1/alerts/{id}/logs, then PATCH the same alert's /priority. Whether that line is written by the time a callback fires, I cannot tell you. Untested here.
https://support.atlassian.com/jira-service-management-cloud/docs/work-with-dynamic-properties/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.