diff --git a/packages/backend/src/apps/zendesk/actions/delete-ticket/index.ts b/packages/backend/src/apps/zendesk/actions/delete-ticket/index.ts new file mode 100644 index 00000000..e82d2524 --- /dev/null +++ b/packages/backend/src/apps/zendesk/actions/delete-ticket/index.ts @@ -0,0 +1,35 @@ +import defineAction from '../../../../helpers/define-action'; + +export default defineAction({ + name: 'Delete ticket', + key: 'deleteTicket', + description: 'Deletes an existing ticket.', + arguments: [ + { + label: 'Ticket', + key: 'ticketId', + type: 'dropdown' as const, + required: true, + variables: true, + description: 'Select the ticket you want to delete.', + source: { + type: 'query', + name: 'getDynamicData', + arguments: [ + { + name: 'key', + value: 'listFirstPageOfTickets', + }, + ], + }, + }, + ], + + async run($) { + const ticketId = $.step.parameters.ticketId; + + const response = await $.http.delete(`/api/v2/tickets/${ticketId}`); + + $.setActionItem({ raw: { data: response.data } }); + }, +}); diff --git a/packages/backend/src/apps/zendesk/actions/index.ts b/packages/backend/src/apps/zendesk/actions/index.ts index c5ceeda9..752a24c6 100644 --- a/packages/backend/src/apps/zendesk/actions/index.ts +++ b/packages/backend/src/apps/zendesk/actions/index.ts @@ -1,5 +1,6 @@ import createTicket from './create-ticket'; +import deleteTicket from './delete-ticket'; import findTicket from './find-ticket'; import updateTicket from './update-ticket'; -export default [createTicket, findTicket, updateTicket]; +export default [createTicket, deleteTicket, findTicket, updateTicket]; diff --git a/packages/backend/src/apps/zendesk/dynamic-data/index.ts b/packages/backend/src/apps/zendesk/dynamic-data/index.ts index d1002884..67475704 100644 --- a/packages/backend/src/apps/zendesk/dynamic-data/index.ts +++ b/packages/backend/src/apps/zendesk/dynamic-data/index.ts @@ -1,14 +1,15 @@ import listUsers from './list-users'; import listBrands from './list-brands'; +import listFirstPageOfTickets from './list-first-page-of-tickets'; import listGroups from './list-groups'; import listSharingAgreements from './list-sharing-agreements'; -import listFirstPageOfTickets from './list-first-page-of-tickets'; import listTicketForms from './list-ticket-forms'; import listViews from './list-views'; export default [ listUsers, listBrands, + listFirstPageOfTickets, listGroups, listSharingAgreements, listFirstPageOfTickets, diff --git a/packages/docs/pages/apps/zendesk/actions.md b/packages/docs/pages/apps/zendesk/actions.md index e26a0c85..e70e6d67 100644 --- a/packages/docs/pages/apps/zendesk/actions.md +++ b/packages/docs/pages/apps/zendesk/actions.md @@ -3,6 +3,8 @@ favicon: /favicons/zendesk.svg items: - name: Create ticket desc: Creates a new ticket. + - name: Delete ticket + desc: Deletes an existing ticket. - name: Find ticket desc: Finds an existing ticket. - name: Update ticket