[Support System] Support System Plugin Question

Hiya,

We've had a request for building a support platform for user-submitted technical queries which are then assigned on the backend to different support teams and we just had a few questions about the Support System plugin to see whether it could work for the functionality we're looking for.

The basic flow would be:
User submits question
2 or 3 'Manager' admins are notified and filter the question to a category
Someone from the team designated to that category is notified and is either assigned to the question or assigns themselves to that question
Through a series of exchanges between the user and the support member, the question is answered
The support member marks the question as 'solved' and tags it with all possible relevant tags to make it easily searchable later
After being marked as 'solved' the whole exchange can be added to a publicly viewable and searchable database

We know not all of this will all be available out the box and we'll have to do some custom development to get it working exactly how we need it to on our end, like setting up a custom post type for the publicly accessible question/answers for example, but we just wanted to run the basic functionality by you to see whether it raised any immediate red flags and you guys could say if this looks doable or not using the plugin.

Sorry for the essay and thanks very much for looking through it all!

Cheers,
Harry

  • Adam Czajczyk

    Hello Clear Honest Design

    I hope you're well today and thank you for your question!

    I think the "workflow" that you need would require quite a bit of custom coding "out of the box". The Support System plugin could be a "foundation" of that but there's some things that would need customization:

    1. The "managers" - there's no "staff groups" etc; access to tickets as set "by user role" but it's to "all or nothing";

    - if you want your users/customers to be able to open tickets you must give them (usually it's "subscribers" user role but can be different) permission to "open/see tickets".
    - you can, however, limit "customers" permissions for them to be able to only see tickets that they opened.
    - but the consequence is - this setting will also affect all users (including those that are supposed to manage tickets)

    2. Staff member is actually an "administrator" user role, with one of them being designated in plugin settings as "default" so if a ticket is not assigned to any staff member - that's the one who gets e-mail notifications.

    Taking p. 1 & 2 into account you'd probably want to customize the role that makes the user a "staff member" so it wasn't "administrator" but some custom user role and then also customize code in a way that the "staff members" would all be notified via e-mail of a new ticket/ticket responses if a given ticket is not assigned to anyone.

    3. E-mail notifications - that might need some additional customization as well as mentioned above

    4. Categories - when a ticket is created it must be added to some category. If you want "managers" to "filter" them and assign to categories, that would have to be customized as well; I think the simplest solution would be to simply modify (even with CSS+JS) "add ticket" form so the category selection option would be hidden with some option set by default; such ticket would go to "default category" and then managers would re-assign them (to other category and selected staff member).

    5. Private/Public - that's a bit different; As explained above - tickets can be opened/seen by selected user roles (visitors - not logged in users - won't see them by default); Additionally, you can set that the users can see only their own tickets. So I think that would be good for "initial" setup making tickets "private": a ticket "creator" could see it and staff (though entire staff).

    You would then need customization at the point when a staff member closes the ticket - so if it's marked as closed it is either automatically made visible to everyone or is not but can additionally be set as public.

    I realize this is a bit "general" answer but I wanted to point out the areas where you would need, in my opinion, custom code pretty much from the start.

    If you have any further questions, please ask and I'll be happy to discuss that/assist you further :slight_smile:

    Best regards,
    Adam

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.