This trigger will match any incoming Zendesk Support ticket update
webhooks and will return the old version of the ticket and the new
version of the ticket.
This trigger is particularly useful if you would like to display ticket
status changes to the users. Here is an example of how you can use this:
triggers:
- type: meya.zendesk.support.trigger.ticket.update
bot: bot.notification
steps:
- (check_status)
- if: (@ flow.ticket.status != flow.old_ticket.status )
then: next
else:
jump: check_assignee
- status: Ticket (@ flow.ticket.id) is now (@ flow.ticket.status )
- (check_assignee)
- if: (@ flow.ticket.assignee_id != flow.old_ticket.assignee_id )
then: next
else:
jump: solved
- if: (@ not flow.ticket.assignee_id )
then:
jump: no_assignee
else: next
- type: meya.zendesk.support.component.user.show
integration: integration.zendesk.support
user_id: (@ flow.ticket.assignee_id )
- status: >
Ticket (@ flow.ticket.id) is now assigned to
(@ flow.result.alias or flow.result.name )
- jump: solved
- (no_assignee)
- status: Ticket (@ flow.ticket.id) status is now unassigned
- jump: solved
- (solved)
- if: (@ flow.ticket.status != flow.old_ticket.status and flow.ticket.status ==
"solved" )
then:
flow: flow.zendesk.support.webhook.ticket_solved
bot: bot.default
async: true
else: end
This flow will check if the ticket status has changed and if it has, it will
display the new status to the user. It will also check if the ticket has
been assigned to a new agent and if it has, it will display the new agent
to the user. Finally, if the ticket has been solved, it will run a
nested flow called flow.zendesk.support.webhook.ticket_solved
.
One thing to note is that this flow runs as a separate bot called
bot.notification
. This is because the bot.default
bot is used for
the main flow, and we don't want incoming Zendesk Support webhooks to
change the user's main flow.
Element details
type: meya.zendesk.support.trigger.ticket.update
class: ZendeskSupportTicketUpdateTrigger
path: /meya/zendesk/support/trigger/ticket/update.py
signature: -
Fields
field | description | required | signature | default | type |
---|---|---|---|---|---|
spec | Override the original spec for this element. | ○ | ○ | null | Spec |
bot | Bot used to evaluate this trigger. | ○ | ○ | null | BotRef |
action | Action executed if this trigger matches. Check the trigger action guide for more info. | ◉ | ○ | TriggerActionEntry ActionComponentSpec | |
when | Custom condition for when to evaluate this trigger. Check the trigger when guide for more info. | ○ | ○ | true | typing.Any |
confidence | Override the default confidence with a custom value for trigger matches. | ○ | ○ | null | Real |
Usage reference
Basic
triggers:
- type: meya.zendesk.support.trigger.ticket.update
steps:
- say: STRING
Full
type: meya.zendesk.support.trigger.ticket.update
spec:
type: STRING
data:
STRING: ANY
timeout: 123
trigger_when: ANY
bot: element.name
action: COMPONENT
when: ANY
confidence: 123