This article is relevant if you've set up a Team catalog type, and that catalog type has an attribute (e.g. Team Members) with the SlackUser resource type.
If you're unsure, head to Catalog, search for Team, then Edit type, and check the Resource Type is not SlackUser. If your catalog type is externally managed (e.g. not editable), continue reading this article for more information.
Background
In January 2024, we shipped a powerful new feature allowing you to represent Users in Catalog. This new User catalog type can be linked to other user accounts across various systems, like Slack, Jira, Notion, Salesforce, Github, and so on. By linking connecting user accounts in Catalog, a whole host of powerful User-based workflows can be unlocked.
Building on our Users in Catalog release, in March 2024 we released Teams in Catalog. This feature is a way for you to flexibly model your organisation (e.g. Users) in Catalog. By being able to models Team Members, Managers, Tech Leads, and more, you (yet again) unlock some really powerful Team-based workflows.
What is this migration?
Before these exciting changes to Users and Teams, it was possible to build your own version of Teams in Catalog: by linking SlackUsers to Teams. However, to get the most out of our recent changes, we strongly recommend moving away from using SlackUsers (e.g. to represent Team Members), and migrating to our new first-class representation of a User within your Teams catalog type.
Migration path
The migration path depends on how you manage your Team catalog type:
Managed via the UI
If you aren’t using an attribute of the SlackUser anywhere (e.g. grabbing the email of a SlackUser in Workflows) you can simply change the attribute type from SlackUser → User in the ‘edit type’ screen in the catalog type.
In the unlikely case that you're "using" an attribute of the SlackUser that isn't available in the User type, this’ll be prevented by our ‘deletion protection’ checks designed to stop you breaking your catalog & dependent workflows.
An example of a "usage" is within a Workflow Expression, navigating from Team > SlackUser > Job Title, where Job Title may not exist on your User catalog type.
In this case, you will need to:
Manually look at all the ‘usages’
Temporarily remove those ‘usages’
Add the required attributes to the new User catalog type
Add the required ‘usages’ back
If you still have issues or questions on this migration, please reach out to us via your Slack Connect channel, or [email protected].
Managed via Catalog Importer
You can change the schema of your Team type in the Catalog Importer, by changing type: SlackUser
to be type: User
.
If when running the Catalog Importer after this change you hit the "a catalog attribute couldn't change type as it is in use by other resources" error, it's likely that you have dependencies on attributes of the SlackUser that are not available in the User type.
In this case, please reach out to us via your Slack Connect channel or [email protected], and we can assist you in identifying those dependencies and getting you unblocked.
Managed via Terraform
You can change the schema of your Team type in the Terraform provider, by changing type=SlackUser
to be type=User
.
If when running the Terraform provider after this change you hit the "a catalog attribute couldn't change type as it is in use by other resources" error, it's likely that you have dependencies on attributes of the SlackUser that are not available in the User type.
In this case, please reach out to us via your Slack Connect channel or [email protected], and we can assist you in identifying those dependencies and getting you unblocked.