Customer Database "for Service Desk" (or otherwise)
Description
In order for Service Desk to be useful to an EE customer like us, we need to group Issues together under a Customer
abstraction. Having an abstraction for a Customer
would provide these features:
- Customer info:
- ID
- Name
- Description area (to cover a variety of needs such as listing points of contact, account type, or other use-case specific details)
- Status (could be covered by labels, perhaps)
- Customer Issues:
- List of Issues (Open/Closed/All)
Proposal
-
Add Organization
(Customer) entity and ability to:-
GraphQL -
Create -
Read -
Update -
Delete (and/or change state?)
-
-
UI -
Create -
Read -
Pagination
-
-
Update -
Delete (and/or change state?)
-
-
-
Add Contact
entity and ability to:-
GraphQL -
Create -
Read -
Pagination
-
-
Update -
"Parent organization" link in create/update -
Delete (and/or change state?)
-
-
UI -
Create -
Read -
Update -
Delete (and/or change state?)
-
-
-
Add Contact
<->Issue
relationship (table)-
Expose Contacts
against issues-
GraphQL -
UI -
Add system note from Issues::SetCrmContactService
-
-
Add ability to associate an existing issue with a Contact
(thus indirectly associated with anOrganization
)-
GraphQL -
UI -
Component/widget? -
Quick action -
Improve/add autocomplete etc?
-
-
-
-
Add ability to create a new issue with a Contact
attached-
? -
UI
-
-
-
Add ability to list issues associated with a Contact
-
GraphQL -
UI -
Add "token" thingy for issue search bar filter?
-
-
Add ability to list issues associated with an Organization
-
GraphQL -
UI -
Add "token" thingy for issue search bar filter?
-
-
Rollout feature? -
Add group setting to toggle CRM on/off -
Default feature flag to on? -
Remove feature flag -
Default CRM on: !108378 (merged)
-
-
Handle nested groups? -
Docs -
First iteration customer relations (crm) docs -
Add some missing bits (issue search? add contact, add organization etc) -
Add some records to GDK seed data???
-
-
Tech debt -
Rename legacy customer_relations
code references tocrm
- #350629 -
Think more about currency for organization.default_rate
#348605 -
https://gitlab.com/gitlab-org/gitlab/-/issues?sort=created_date&state=opened&label_name[]=CRM
-
One benefit is to be able to pull up all of a customer's issues when they call in.
Another benefit is to have people supporting a customer be able to quickly get up to speed on what is troubling a customer.
Overall this enables a company to provide excellent customer service to them by ensuring their needs are met.
Links / references
Edited by Lee Tickett