Skip to content
GitLab
Next
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 44,761
    • Issues 44,761
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,332
    • Merge requests 1,332
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLabGitLab
  • Issues
  • #2256
Closed
Open
Issue created Apr 24, 2017 by Greg Smethells@gsmethells52 of 60 checklist items completed52/60 checklist items

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 an Organization)
      • 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
  • 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 to crm - #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

  • AutoTask
  • ZenDesk
  • Desk
Edited Aug 25, 2022 by Lee Tickett
Assignee
Assign to
Time tracking