🫂

Workstream Discord Manager Best Practices

Related to Contributors DB (1) (Working Documents)
Contributor(s)
GC Forum Gov. Post.
🗄️ Initiatives DB
link
Related to Action Items DB (Working document)
Due Date
Created date
 
This is a guide surrounding best practices for Workstream Discord Managers. These are NOT mandatory rules that must be followed, and are only intended to help provide consistency/stability across the DAO.
 
If you have any questions about these practices, or about anything surrounding the responsibilities of being a Workstream Discord Manager, please reach out to
 
As a Discord Manager, you will have permissions that Discord labels as “admin permissions”. These permissions require your account to have 2FA enabled before using them. If your account doesn’t have 2FA enabled, most of your abilities will be restricted.
Roles
Creating Roles
Discord Managers have the ability to create new roles.
  1. These roles should have a similar color to your workstream, and should all be close to each other in the list of permissions (both of these practices are aimed to improve the visibility/organization of workstream-specific roles, and designate them from DAO-wide roles or similar roles in other workstreams). MMM has a good example of this:
notion image
  1. Where these roles sit in the list of all roles in the server is arbitrary, but any newly created role MUST be below the workstream lead / discord manager roles. Discord provides a linear role hierarchy, and any role with manage user (e.g. kick/ban) / permission abilities will be able to manage all roles listed below their role. Please do not reorder roles outside of your workstream.
    1. For example, the MMM Visitor role in the screenshot above technically has a “higher precedence” than MMM Newsletter, MMM Trusted Contributor etc but a LOWER precedence than MMM Contributors. If MMM granted the MMM Visitor role the ability to kick users, they would be able to kick anyone from the roles listed below theirs (such as MMM Newsletter ) but NOT from roles listed above (such as MMM Contributors). ←This shouldn’t be done, as only leads and discord managers should have manage user/permission abilities, but it illustrates the point
    2. Where possible, keep your workstream-specific roles as low to the bottom of the role order as possible to ensure those assigned to it can’t mistakenly alter other roles.
Assigning Roles
Discord Managers have the ability to assign users roles.
  1. Discord Managers can assign a role equal or lower than their own in the linear hierarchy, to another user. For example:
    1. notion image
    2. In the screenshot above, Discord Manager roles are placed ABOVE their respective workstream’s lead role, which allows Discord Managers to alter the permissions for their workstream’s lead role. It does not work in the reverse order.
      1. There is no way around this, as we are limited by the way Discord handles roles. If you are concerned about another workstream’s leads/discord managers altering permissions within your workstream, please reach out to
  1. Only assign roles your workstream owns. If someone in your workstream needs a role owned by another workstream, or a role within your workstream needs to access a channel outside of your workstream, please coordinate with either that workstream’s Discord Manager or
    1. CURRENT WORKSTREAM DISCORD MANAGERS - UPDATED 03/17/23
      1. Public Goods Funding
        1. Maxwell#7266
      2. Merch, Memes, and Marketing
        1. Viriya#3410
        2. CoachJ#0481
        3. Vermeer#9313
        4. garyshenggitcoin#6997
      3. Gitcoin Product Collective (Allo & Passport)
        1. kevin.olsen#8319
        2. n00b_SaUce#3760
        3. heynate#9521
      4. Fraud Detection & Defense
        1. Disruption Joe | Gitcoin#6464
        2. sorana03#4924
      5. DAO Ops
        1. kylejensen#420
        2. krrisis#4754
Categories & Channels
Creating a Category
  1. Within our server, categories act as “Workstream Folders”. Creating a new category is akin to creating or expanding your workstream. BEFORE creating a new category, please reach out to to help align on strategy, utility, and permission needs.
Creating a Channel
Discord Managers have the ability to create new channels.
  1. Generally, opt for a thread before creating a channel. This helps reduce clutter within your workstream.
  1. Channels act as a home base for contributors to collaborate on similar long-term initiatives/areas of work. Channels should include a description explaining the channel’s purpose. If you can’t identify a description for the channel, it may be better to create a thread.
  1. For short-term initiatives, a thread should be preferred.
  1. Please see the Permissions section below for best practices on granting access to new channels
Archiving a Category or Channel
  1. Instead of deleting channels, we archive them. We do this mainly to preserve history and allow contributors to go back and access information/conversations that were had in previous channels. If you no longer have use for a channel, please reach out to to help get it archived.
 
The Archive Process
  1. A note is sent in the channel, if appropriate, announcing that the channel will be archived and directs contributors on where they should go instead
  1. The channel is moved to an Archive category. This category has reduced permissions and is only accessible to server Moderators and Admins
  1. For a regular archive, the channel will be moved to an Archive category without any initial adjustments to the channel’s permissions. The channel will have any additional permissions removed during a bi-weekly sweep of the archived channels. After this point, all access will be revoked and you will need to reach out to to regain access. This is the standard process you can expect
  1. For a rapid archive, the channel will be moved to an Archive category and will have any additional permissions removed immediately. The process to regain access to these channels remains the same.
Permissions
 
Discord Managers have the ability to manage permissions for categories, channels, and users.
Granting & Altering Permissions
NOTE: Only manage the permissions for your own workstream
  • If you need a permissions change made in a channel owned by another workstream, please reach out to a Discord Manager for that workstream
  • If you need a permissions change made in a DAO-wide channel, please reach out to either , , or Kris Is
To Users
  1. When granting permissions/access to a user, opt for granting the permissions to a role and assigning that role to the user. Granting individuals specific permissions quickly becomes unmanageable and difficult to track. By preferring roles, you can better judge intent and ensure cleanliness/stability in access.
  1. If the permissions that need to be granted do not warrant the creation of a role, you may add the permissions to an individual user to the respective category/channel. This should be a last resort.
 
To Categories & Channels
As a general rule of thumb, the order of preferred priority for assigning permissions to categories and channels is as followed:
  1. Create/modify the permissions of a role, and assign that role access to a category
    1. Where possible, the channels nested under a category should have their permissions synced to the category. By syncing your channel permissions to the category, the categories access will remain predictable and stable for relevant roles within your workstream
  1. Create/modify the permission of a role, and assign that role access a channel
    1. It is okay if this channel is no longer in sync with the category, but the category’s permissions should provide a starting point for the channel’s permissions.
  1. Assign an individual specific permissions for one channel or to a category
    1. If you find yourself needing to do this for multiple channels, a role may be warranted. We use a role-based permissions structure, and assigning individual permissions is not recommended. If you are unable to find an approach that fits your needs given the suggestions above, you can reach out to for help
 
On Syncing Channels
By keeping a channel synced to its category, any permission modifications made to the category will also be reflected in the permissions of that channel. This process ensures access remains consistent across the channels within your workstream. There are, of course, channels that will need to remain perpetually in a state of being out-of-sync with their channel. This is okay, it is just important that:
  1. The channel’s permissions build off of the categories permissions
    1. When possible, if you alter the permissions of a category, resync your out-of-sync channels and add back any unique permissions for that channel.
    2. NOTE: Syncing a channel with the category will directly copy the category’s permissions. You will want to note the channel’s unique permissions so you can add them back before you sync the channel, if you chose to do so.
    3. NOTE 2: Don’t sync your workstream’s general channel. This channel should remain open to DAO Citizens/DAO Core/DAO visitors.
  1. You, as a discord manager, keep track of these nuances within your channels
    1. Note: A category/channel/role audit document is currently being worked on, outlining access permissions to each. You can keep track of these nuances, as well as add your workstream’s changes, in this doc once it is ready. Discord Managers will be notified when it is ready.
Revoking Permissions
  1. If you created a role:
    1. If a user no longer needs the access the role grants, remove the role from the user
    2. If the role no longer needs access to a channel/category, remove the role from the category/channel
      1. If this role no longer serves any additional purpose, delete the role
  1. If you assigned permissions to an individual:
    1. Remove those unique permissions from the individual
    2. NOTE: If you find yourself assigning individual permissions often, please try to get into the habit of regularly auditing your workstream’s permissions to ensure they remain tidy. Again, assigning individual permissions is discouraged as we operate using a role-based structure.
General Channel Setup and Guide
We recommend the following basic Discord channel structure for workstreams. Your workstream category should have:
  • #workstream-general channel: This channel should be open to members with the DAO Core or DAO Citizen role. The purpose of this channel is to have general discussion + updates on the work your workstream is doing, and foster a culture of “building in public”. This channel is also the go-to for general cross-stream communication and collaboration. If a contributor from a different workstream has any general inquiries, this is the place to initiate those conversations.
    • Actively engaging non-contributing DAO Citizens isn’t required, but please make sure this channel is monitored and any questions/comments from the community are thoughtfully responded to
  • workstream-start-here channel: If your workstream is currently accepting new contributors, you can create an announcement workstream-start-here channel visible to DAO Citizens and DAO Core members. This channel should contain instructions on how potential contributors can get involved with your workstream
  • Initiative/project-specific channels: In addition to any relevant workstream-specific roles, these channels should also be open to the DAO Core role. Each ongoing initiative (eg; People Ops in DAO Ops, or GIA in FDD) or long-term project (eg Grants Protocol in GPC) that your workstream is working on should have its own channel. This is to give contributors working on this initiative/project a space to communicate and share updates, but also for core contributors cross-workstream to have a window into work that is being done in those areas, and raise questions or initiate cross-stream work in these areas.
    • NOTE: Smaller or short-term projects should prefer a thread over a channel
  • Contributor-only channel: This channel should be open to DAO Core and the roles for trusted contributors in your workstream. The channel should be used for communications that pertain only to contributors of the workstream (e.g. payments, workstream-specific calls, etc.)
    • NOTE: This channel isn’t intended for actual work discussions, as those conversations should be held publicly in either your #workstream-general or an initiative channel
 
User Flows
Entry Flow
  • User joins the discord server
    • Visible Channels
  • Enter #start-here
    • Select a reaction to gain a role:
      • DAO Visitor
        Builders
        Grants
        Gitcoin Local
  • React to message in Support/#read-first to gain Support Seeker role
    • Reveals the Support/#create-a-ticket channel
DAO Citizen Flow
  • User with DAO Visitor role reacts to message in DAO Community/#citizen-start-here to gain DAO Applicant role
    • Reveals the DAO Community/#citizen-introductions channel
      • User submits introduction, receives DAO Citizen role on successful application
        • DAO Citizen role reveals:
 
🫂

Workstream Discord Manager Best Practices

Related to Contributors DB (1) (Working Documents)
Contributor(s)
GC Forum Gov. Post.
🗄️ Initiatives DB
link
Related to Action Items DB (Working document)
Due Date
Created date
 
This is a guide surrounding best practices for Workstream Discord Managers. These are NOT mandatory rules that must be followed, and are only intended to help provide consistency/stability across the DAO.
 
If you have any questions about these practices, or about anything surrounding the responsibilities of being a Workstream Discord Manager, please reach out to
 
As a Discord Manager, you will have permissions that Discord labels as “admin permissions”. These permissions require your account to have 2FA enabled before using them. If your account doesn’t have 2FA enabled, most of your abilities will be restricted.
Roles
Creating Roles
Discord Managers have the ability to create new roles.
  1. These roles should have a similar color to your workstream, and should all be close to each other in the list of permissions (both of these practices are aimed to improve the visibility/organization of workstream-specific roles, and designate them from DAO-wide roles or similar roles in other workstreams). MMM has a good example of this:
notion image
  1. Where these roles sit in the list of all roles in the server is arbitrary, but any newly created role MUST be below the workstream lead / discord manager roles. Discord provides a linear role hierarchy, and any role with manage user (e.g. kick/ban) / permission abilities will be able to manage all roles listed below their role. Please do not reorder roles outside of your workstream.
    1. For example, the MMM Visitor role in the screenshot above technically has a “higher precedence” than MMM Newsletter, MMM Trusted Contributor etc but a LOWER precedence than MMM Contributors. If MMM granted the MMM Visitor role the ability to kick users, they would be able to kick anyone from the roles listed below theirs (such as MMM Newsletter ) but NOT from roles listed above (such as MMM Contributors). ←This shouldn’t be done, as only leads and discord managers should have manage user/permission abilities, but it illustrates the point
    2. Where possible, keep your workstream-specific roles as low to the bottom of the role order as possible to ensure those assigned to it can’t mistakenly alter other roles.
Assigning Roles
Discord Managers have the ability to assign users roles.
  1. Discord Managers can assign a role equal or lower than their own in the linear hierarchy, to another user. For example:
    1. notion image
    2. In the screenshot above, Discord Manager roles are placed ABOVE their respective workstream’s lead role, which allows Discord Managers to alter the permissions for their workstream’s lead role. It does not work in the reverse order.
      1. There is no way around this, as we are limited by the way Discord handles roles. If you are concerned about another workstream’s leads/discord managers altering permissions within your workstream, please reach out to
  1. Only assign roles your workstream owns. If someone in your workstream needs a role owned by another workstream, or a role within your workstream needs to access a channel outside of your workstream, please coordinate with either that workstream’s Discord Manager or
    1. CURRENT WORKSTREAM DISCORD MANAGERS - UPDATED 03/17/23
      1. Public Goods Funding
        1. Maxwell#7266
      2. Merch, Memes, and Marketing
        1. Viriya#3410
        2. CoachJ#0481
        3. Vermeer#9313
        4. garyshenggitcoin#6997
      3. Gitcoin Product Collective (Allo & Passport)
        1. kevin.olsen#8319
        2. n00b_SaUce#3760
        3. heynate#9521
      4. Fraud Detection & Defense
        1. Disruption Joe | Gitcoin#6464
        2. sorana03#4924
      5. DAO Ops
        1. kylejensen#420
        2. krrisis#4754
Categories & Channels
Creating a Category
  1. Within our server, categories act as “Workstream Folders”. Creating a new category is akin to creating or expanding your workstream. BEFORE creating a new category, please reach out to to help align on strategy, utility, and permission needs.
Creating a Channel
Discord Managers have the ability to create new channels.
  1. Generally, opt for a thread before creating a channel. This helps reduce clutter within your workstream.
  1. Channels act as a home base for contributors to collaborate on similar long-term initiatives/areas of work. Channels should include a description explaining the channel’s purpose. If you can’t identify a description for the channel, it may be better to create a thread.
  1. For short-term initiatives, a thread should be preferred.
  1. Please see the Permissions section below for best practices on granting access to new channels
Archiving a Category or Channel
  1. Instead of deleting channels, we archive them. We do this mainly to preserve history and allow contributors to go back and access information/conversations that were had in previous channels. If you no longer have use for a channel, please reach out to to help get it archived.
 
The Archive Process
  1. A note is sent in the channel, if appropriate, announcing that the channel will be archived and directs contributors on where they should go instead
  1. The channel is moved to an Archive category. This category has reduced permissions and is only accessible to server Moderators and Admins
  1. For a regular archive, the channel will be moved to an Archive category without any initial adjustments to the channel’s permissions. The channel will have any additional permissions removed during a bi-weekly sweep of the archived channels. After this point, all access will be revoked and you will need to reach out to to regain access. This is the standard process you can expect
  1. For a rapid archive, the channel will be moved to an Archive category and will have any additional permissions removed immediately. The process to regain access to these channels remains the same.
Permissions
 
Discord Managers have the ability to manage permissions for categories, channels, and users.
Granting & Altering Permissions
NOTE: Only manage the permissions for your own workstream
  • If you need a permissions change made in a channel owned by another workstream, please reach out to a Discord Manager for that workstream
  • If you need a permissions change made in a DAO-wide channel, please reach out to either , , or Kris Is
To Users
  1. When granting permissions/access to a user, opt for granting the permissions to a role and assigning that role to the user. Granting individuals specific permissions quickly becomes unmanageable and difficult to track. By preferring roles, you can better judge intent and ensure cleanliness/stability in access.
  1. If the permissions that need to be granted do not warrant the creation of a role, you may add the permissions to an individual user to the respective category/channel. This should be a last resort.
 
To Categories & Channels
As a general rule of thumb, the order of preferred priority for assigning permissions to categories and channels is as followed:
  1. Create/modify the permissions of a role, and assign that role access to a category
    1. Where possible, the channels nested under a category should have their permissions synced to the category. By syncing your channel permissions to the category, the categories access will remain predictable and stable for relevant roles within your workstream
  1. Create/modify the permission of a role, and assign that role access a channel
    1. It is okay if this channel is no longer in sync with the category, but the category’s permissions should provide a starting point for the channel’s permissions.
  1. Assign an individual specific permissions for one channel or to a category
    1. If you find yourself needing to do this for multiple channels, a role may be warranted. We use a role-based permissions structure, and assigning individual permissions is not recommended. If you are unable to find an approach that fits your needs given the suggestions above, you can reach out to for help
 
On Syncing Channels
By keeping a channel synced to its category, any permission modifications made to the category will also be reflected in the permissions of that channel. This process ensures access remains consistent across the channels within your workstream. There are, of course, channels that will need to remain perpetually in a state of being out-of-sync with their channel. This is okay, it is just important that:
  1. The channel’s permissions build off of the categories permissions
    1. When possible, if you alter the permissions of a category, resync your out-of-sync channels and add back any unique permissions for that channel.
    2. NOTE: Syncing a channel with the category will directly copy the category’s permissions. You will want to note the channel’s unique permissions so you can add them back before you sync the channel, if you chose to do so.
    3. NOTE 2: Don’t sync your workstream’s general channel. This channel should remain open to DAO Citizens/DAO Core/DAO visitors.
  1. You, as a discord manager, keep track of these nuances within your channels
    1. Note: A category/channel/role audit document is currently being worked on, outlining access permissions to each. You can keep track of these nuances, as well as add your workstream’s changes, in this doc once it is ready. Discord Managers will be notified when it is ready.
Revoking Permissions
  1. If you created a role:
    1. If a user no longer needs the access the role grants, remove the role from the user
    2. If the role no longer needs access to a channel/category, remove the role from the category/channel
      1. If this role no longer serves any additional purpose, delete the role
  1. If you assigned permissions to an individual:
    1. Remove those unique permissions from the individual
    2. NOTE: If you find yourself assigning individual permissions often, please try to get into the habit of regularly auditing your workstream’s permissions to ensure they remain tidy. Again, assigning individual permissions is discouraged as we operate using a role-based structure.
General Channel Setup and Guide
We recommend the following basic Discord channel structure for workstreams. Your workstream category should have:
  • #workstream-general channel: This channel should be open to members with the DAO Core or DAO Citizen role. The purpose of this channel is to have general discussion + updates on the work your workstream is doing, and foster a culture of “building in public”. This channel is also the go-to for general cross-stream communication and collaboration. If a contributor from a different workstream has any general inquiries, this is the place to initiate those conversations.
    • Actively engaging non-contributing DAO Citizens isn’t required, but please make sure this channel is monitored and any questions/comments from the community are thoughtfully responded to
  • workstream-start-here channel: If your workstream is currently accepting new contributors, you can create an announcement workstream-start-here channel visible to DAO Citizens and DAO Core members. This channel should contain instructions on how potential contributors can get involved with your workstream
  • Initiative/project-specific channels: In addition to any relevant workstream-specific roles, these channels should also be open to the DAO Core role. Each ongoing initiative (eg; People Ops in DAO Ops, or GIA in FDD) or long-term project (eg Grants Protocol in GPC) that your workstream is working on should have its own channel. This is to give contributors working on this initiative/project a space to communicate and share updates, but also for core contributors cross-workstream to have a window into work that is being done in those areas, and raise questions or initiate cross-stream work in these areas.
    • NOTE: Smaller or short-term projects should prefer a thread over a channel
  • Contributor-only channel: This channel should be open to DAO Core and the roles for trusted contributors in your workstream. The channel should be used for communications that pertain only to contributors of the workstream (e.g. payments, workstream-specific calls, etc.)
    • NOTE: This channel isn’t intended for actual work discussions, as those conversations should be held publicly in either your #workstream-general or an initiative channel
 
User Flows
Entry Flow
  • User joins the discord server
    • Visible Channels
  • Enter #start-here
    • Select a reaction to gain a role:
      • DAO Visitor
        Builders
        Grants
        Gitcoin Local
  • React to message in Support/#read-first to gain Support Seeker role
    • Reveals the Support/#create-a-ticket channel
DAO Citizen Flow
  • User with DAO Visitor role reacts to message in DAO Community/#citizen-start-here to gain DAO Applicant role
    • Reveals the DAO Community/#citizen-introductions channel
      • User submits introduction, receives DAO Citizen role on successful application
        • DAO Citizen role reveals: