Skip to content
GitLab
Next
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 49,693
    • Issues 49,693
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,563
    • Merge requests 1,563
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • 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@gsmethells

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
    • Default CRM on: !108378
  • 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 Mar 03, 2023 by Lee Tickett
Assignee
Assign to
Time tracking