Skip to content

[IDEA] A form to raise a support ticket to a range of 3rd party systems #2

@AndyBoot

Description

@AndyBoot

Summary

Provide the ability for a CMS user to raise support tickets against the preferred ticketing or agile system. A user should be able to click a button within Client Drawer to open or expand to a generic form. The form should consist of a subject, comments and an attachment button as standard. The configuration should allow for additional form fields for other related information to better categorise said issue. On submission of the form, we should send the data via a webhook or custom code driven handler (i.e. REST API or HTTP POST).

Configuration

In addition to the existing available configurations within the appsettings.json, I'd like to be able to define how this is displayed and hooks up to a 3rd party. If using opting for a webhook, I'd like to utilise Umbraco's webhooks implementation. If opting for something else, reference a "codename" of worker class which takes the form data and sends it via the vendors implementation (i.e. REST, POST).

I'd like to also have the ability to add additional form fields. This should be a simple array of Alias, Label, Field Type & Default Values. These should then be used to populate the form and be part of the submission data.

Submission Events

Webhook

A custom webhook event and notification would need to be created as part of this so that it triggers a webhook upon submitting the form. See documentation.

Custom Code

It would be desirable to have a library of classes which inherit from a base interface where we can send form submissions and it forward the data to the 3rd party system. Off the shelf I'd like to provide some working examples of already integrated vendors such as Trello, Zendesk, Jira, etc. Of course we can't accommodate for all systems on day 1, so having the ability for developers to integrate their own should remain a key focus.

Future ideas

  • In addition to an attachment field, it would be neat to have a screenshot button which take a photo of the current screen in the backoffice
  • Provide the ability to deliver similar functionality to the frontend of the website so clients can raise tickets based on feedback or website bugs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions