Customer relations management (CRM)
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
This feature is not under active development, but community contributions are welcome. To determine if the feature meets your needs, see the open work items in epic 5323.
With customer relations management (CRM) you can create a record of contacts (individuals) and organizations (companies) and relate them to work items.
By default, contacts and organizations can only be created for top-level groups. To create contacts and organizations in other groups, assign the group as a contact source.
You can use contacts and organizations to tie work to customers for billing and reporting purposes. For more information about what is planned for the future, see issue 2256.
Permissions
| Permission | Guest | Planner | Group Reporter | Group Developer, Maintainer, and Owner |
|---|---|---|---|---|
| View contacts/organizations | ✓ | ✓ | ✓ | |
| View work item contacts | ✓ | ✓ | ✓ | |
| Add/remove work item contacts | ✓ | ✓ | ✓ | |
| Create/edit contacts/organizations | ✓ |
Enable customer relations management (CRM)
Customer relations management features are enabled at the group level. If your group also contains subgroups, and you want to use CRM features in the subgroup, CRM features must also be enabled for the subgroup.
To enable customer relations management in a group or subgroup:
- In the top bar, select Search or go to and find your group or subgroup.
- Select Settings > General.
- Expand the Permissions and group features section.
- Select Customer relations is enabled.
- Select Save changes.
Configure the contact source
By default, contacts are sourced from a work item’s top-level group.
The contact source for a group will apply to all subgroups, unless they have a contact source configured.
To configure the contact source for a group or subgroup:
- In the top bar, select Search or go to and find your group or subgroup.
- Select Settings > General.
- Expand the Permissions and group features section.
- Select Contact source > Search for a group.
- Select the group from which you wish to source contacts.
- Select Save changes.
Contacts
View contacts linked to a group
Prerequisites:
- You must have the Planner, Reporter, Developer, Maintainer, or Owner role for the group.
To view a group’s contacts:
- In the top bar, select Search or go to and find your group.
- Select Plan > Customer relations.
Create a contact
Prerequisites:
- You must have the Developer, Maintainer, or Owner role for the group.
To create a contact:
- In the top bar, select Search or go to and find your group.
- Select Plan > Customer relations.
- Select New contact.
- Complete all required fields.
- Select Create new contact.
You can also create contacts using the GraphQL API.
Edit a contact
Prerequisites:
- You must have the Developer, Maintainer, or Owner role for the group.
To edit an existing contact:
- In the top bar, select Search or go to and find your group.
- Select Plan > Customer relations.
- Next to the contact you wish to edit, select Edit ( ).
- Edit the required fields.
- Select Save changes.
You can also edit contacts using the GraphQL API.
Change the state of a contact
Each contact can be in one of two states:
- Active: contacts in this state can be added to a work item.
- Inactive: contacts in this state cannot be added to a work item.
To change the state of a contact:
- In the top bar, select Search or go to and find your group.
- Select Plan > Customer relations.
- Next to the contact you wish to edit, select Edit ( ).
- Select or clear the Active checkbox.
- Select Save changes.
Organizations
View organizations
Prerequisites:
- You must have the Planner, Reporter, Developer, Maintainer, or Owner role for the group.
To view a group’s organizations:
- In the top bar, select Search or go to and find your group.
- Select Plan > Customer relations.
- In the upper right, select Organizations.
Create an organization
Prerequisites:
- You must have the Developer, Maintainer, or Owner role for the group.
To create an organization:
- In the top bar, select Search or go to and find your group.
- Select Plan > Customer relations.
- In the upper right, select Organizations.
- Select New organization.
- Complete all required fields.
- Select Create new organization.
You can also create organizations using the GraphQL API.
Edit an organization
Prerequisites:
- You must have the Developer, Maintainer, or Owner role for the group.
To edit an existing organization:
- In the top bar, select Search or go to and find your group.
- Select Plan > Customer relations.
- In the upper right, select Organizations.
- Next to the organization you wish to edit, select Edit ( ).
- Edit the required fields.
- Select Save changes.
You can also edit organizations using the GraphQL API.
Tickets
If you use Service Desk and create tickets from emails, tickets are linked to contacts matching the email addresses in the sender and CC of the email.
View work items linked to a contact
Prerequisites:
- You must have the Planner, Reporter, Developer, Maintainer, or Owner role for the group.
To view a contact’s work items, select a contact from the work item sidebar, or:
- In the top bar, select Search or go to and find your group.
- Select Plan > Customer relations.
- Next to the contact whose work items you wish to view, select View issues ( ).
View work items linked to an organization
Prerequisites:
- You must have the Planner, Reporter, Developer, Maintainer, or Owner role for the group.
To view an organization’s work items:
- In the top bar, select Search or go to and find your group.
- Select Plan > Customer relations.
- In the upper right, select Organizations.
- Next to the organization whose work items you wish to view, select View issues ( ).
View contacts linked to a work item
Prerequisites:
- You must have the Planner, Reporter, Developer, Maintainer, or Owner role for the group.
You can view contacts associated with a work item in the right sidebar.
To view a contact’s details, hover over the contact’s name.
You can also view work item contacts using the GraphQL API.
Add contacts to a work item
Prerequisites:
- You must have the Planner, Reporter, Developer, Maintainer, or Owner role for the group.
To add active contacts to a work item use the /add_contacts quick action with [contact:address@example.com].
You can also add, remove, or replace work item contacts using the GraphQL API.
Remove contacts from a work item
Prerequisites:
- You must have the Planner, Reporter, Developer, Maintainer, or Owner role for the group.
To remove contacts from a work item use the /remove_contacts quick action with [contact:address@example.com].
You can also add, remove, or replace work item contacts using the GraphQL API.
Autocomplete contacts
When you use the /add_contacts quick action, follow it with [contact: and an autocomplete list with the active contacts appears:
/add_contacts [contact:When you use the /remove_contacts quick action, follow it with [contact: and an autocomplete list with the contacts added to the work item appears:
/remove_contacts [contact:Moving objects with CRM entries
When you move a work item or project and the parent group contact source matches, work items retain their contacts.
When you move a work item or project and the parent group contact source changes, work items lose their contacts.
When you move a group with a contact source configured or its contact source remains unchanged, work items retain their contacts.
When you move a group and its contact source changes:
- All unique contacts and organizations are migrated to the new top-level group.
- Contacts that already exist (by email address) are deemed duplicates and deleted.
- Organizations that already exist (by name) are deemed duplicates and deleted.
- All work items retain their contacts or are updated to point at contacts with the same email address.
If you do not have permission to create contacts and organizations in the new top-level group, the group transfer fails.