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 Contactentity 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<->Issuerelationship (table)-
Expose Contactsagainst 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 Contactattached-
? -
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
-
-
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_relationscode 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.