Documentation

Workgroups & boards

Creating or proposing workgroups, running a task board, proposing tasks on app boards, bounties and assignees.

A workgroup or project is the same kind of unit inside a community: a task board, an optional budget, and an optional treasury payment wallet. Use it for an ongoing team (for example "Dev" or "Marketing") or a time-bounded initiative (a single funded proposal). There is no separate project type — both share leads, Payday and budget checks.

Creating a workgroup

Workgroups & projects in the community sidebar opens the catalog of boards. Admins see an add card there (while new ones are not decided by vote). Type a name, choose a board kind and click Add:

  • App board — a kanban run inside Treasury Guild with a payable column. Tasks are created here. Best when the work is not tracked on GitHub.
  • GitHub board — a live mirror of a repository's GitHub project. Issues sync in automatically. Choosing this takes you straight to GitHub settings to link a repository.

An empty app board also offers both choices again to admins and that workgroup's leads (Use app board or Open GitHub settings, the latter for admins only), so you can decide later; everyone else sees "This board hasn't been set up yet."

When the community decides new workgroups or projects by vote, the card reads that they are created by a community vote, and those allowed to propose (any member by default; with "admins and leads of the workgroups concerned" only admins, since a new one concerns no workgroup yet) see Propose a workgroup or project. The proposal names it, a description and its leads, who must be members, and the name must not match an existing board's. If it passes, it is created as an app board with the default five columns, led by the proposed leads who are still members. Open proposals (still in discussion or voting) also appear under In proposal on this page; each card opens the proposal, not a board. Changing who leads one after that is its own proposal: Change leads on the board, described under Changing workgroup leads. An open lead change is named under the board's title.

For work that two teams share, create a project board of its own and fund it (transfers or a budget allocation) from the community pot or from each team's treasury — do not charge one board's tasks against two workgroup budgets.

Editing a workgroup

Edit details (admins only, on the catalog card or the board header) opens a dialog with:

  • Name and Description.
  • Payment wallet — Any wallet, or one specific treasury. When set, this board's tasks can only be paid from that treasury; on Payday they are listed under that treasury and set apart as "paid from other treasuries" when another one is selected. The catalog shows it as "Paid from …". A change is saved with Change wallet and takes effect at a budget period boundary: This period is offered only while nothing has been paid in the current month or quarter (otherwise the dialog says so and only Next period remains), and the change can carry a reason. Until its period starts, a scheduled change is shown under Wallet history, where every past change is listed with who made it and when; choosing the current wallet again for the same period cancels it. Only one change can be scheduled ahead: while a later period already has one, the dialog refuses an earlier one ("A later wallet change is already scheduled"). A new treasury can also be given to a workgroup as it is created (see Creating a treasury); that is recorded here like any other change. See Several treasuries for how this keeps spending history whole.
  • Archive / delete (or Restore / delete once archived) at the bottom opens the lifecycle dialog with Archive workgroup / Restore workgroup and Delete empty workgroup, described below.

An archived workgroup's name, description and wallet cannot be edited until it is restored.

Archiving and deleting a workgroup

Archive pauses a workgroup: its board becomes read-only ("Archived — this board is read-only"), GitHub imports stop, and it disappears from the catalog unless Show archived is ticked. Historical tasks, budgets and payments stay visible. A workgroup with payable or queued tasks, or a pending payout, must have those resolved before it can be archived. Restore brings it back.

Delete empty workgroup is permanent and only possible for a workgroup with no tasks left at all (archived tasks included), no payment records and no imported payment history; otherwise the dialog says why. It does not need to be archived first. Type the exact name to confirm, then click Delete permanently. Remove eligible unpaid tasks through the task lifecycle first (archive, then delete); tasks with payment history cannot be removed, so such a workgroup can be archived but never deleted. Deleting clears its budget setup and GitHub links; a snapshot of the budget history is kept in the community's audit record. Archive, restore and delete all record who did it and when.

The app board

An app board has five columns by default: To Do, In Progress, Done, Audited and Paid. Audited is the payable column: a task moved there becomes payable and shows up on Payday. Paid fills itself: when a payout transaction is confirmed on-chain, the tasks it paid move there with their transaction hash. Paid tasks cannot be dragged anywhere else, nothing can be dropped into Paid, and it has no Add task… box.

Admins and the workgroup's leads can manage the board; everyone else sees it read-only.

  • Add a task: type a title in the Add task… box at the bottom of a column and press Enter. A task added straight into Audited is payable at once.
  • Move a task: drag its card to another column.
  • Call attendance: tasks named Call: … are created from the Calls page and arrive in the payable column with their attendees as assignees.
  • Open a task: click the card. The task number (for example #12) is assigned per community, never changes, and is what the on-chain payout record cites.

Proposing a task

Task proposals need an app board. When the community has turned on task proposals, members who may propose tasks see Propose a task in an app board's header, and Task in New proposal on the Proposals page — only if there is an active app board they may propose on. Archived boards and GitHub boards never offer it: GitHub work stays as issues. A proposal names the task, what needs doing and its bounty, and can assign the task to its proposer (if they are still a member when it passes). If it passes, the task appears in the board's first column that is neither the payable nor the paid one, not yet payable; admins and the workgroup's leads move it along like any other task. The task keeps a link to its proposal, and its payout's on-chain record cites it (see Spend citations).

Editing a task

The task dialog has:

  • Title — short name shown on the card.
  • Description — free text.
  • Assignees (each receives the full payout) — pick members from the dropdown (by handle, GitHub username or address), or choose Custom address… to paste any wallet on the community's network (a preprod addr_test… address in a mainnet community, or the reverse, is refused: "This community pays on mainnet: use a mainnet address"). + Add assignee adds more rows. A task with two assignees pays the bounty twice, once to each. Each wallet can be assigned once, and a task can have at most 20 assignees.
  • Budget month or Budget quarter — which budget this task's payout counts against, in the unit the workgroup is budgeted in. Defaults to the current period and is recorded on-chain. See Budgets.
  • Bounty — one row per token: pick ADA or any token the workgroup's payment wallet holds (every community treasury when it is set to Any wallet), or Custom… to type a ticker that will be matched to a treasury token at payout. Amounts are in display units (for example 150 ADA, not lovelace); ADA allows at most 6 decimal places; a ticker can appear only once. + Add token adds a row.
  • Archive task, Cancel, Save.

Cancel or clicking outside the dialog with unsaved edits asks whether to discard them before closing.

Once a task is queued in a payout or paid, its assignees are locked: Save is refused ("Assignees are locked once a payout has been queued or paid"). A paid task shows "Paid in tx …" with a link to the explorer.

An AI assistant you connected with the tasks:write permission can create a task on an app board you manage, or edit the title, description, bounty or budget month of one that is not payable yet, after showing you the change and you confirm. It never moves a task between columns or makes it payable.

Imported tasks

A task created by importing an on-chain payout sits in the Paid column with an Imported badge. Titles and descriptions are not written on-chain, so it is called Imported task #N; open it to give it its real Title and click Save title (the rest of a paid task stays as it was paid). It keeps the task number the on-chain record names. When that number already belonged to another task and an admin imported it under a new one, the badge reads Imported, on-chain #N. Task numbers continue after the highest one in use, so keeping an on-chain number can leave a gap.

Archived tasks

Archive task removes a task from the board and from Payday while keeping its details and payment history. A task with a pending payout must be resolved first.

The Archived tasks (n) button switches the board to the archive list. Manage on an archived task lets you Restore task (back to its previous column and payment status; if it was payable it reappears on Payday) or, when it has no payment history, Delete task… permanently after typing its exact title. Tasks that were paid or reconciled cannot be deleted.

GitHub boards

A workgroup of kind GitHub board shows the linked GitHub project live, column for column, with every item. Items that match the import rule (payable label and import column, see GitHub integration) are the ones that exist as tasks in Treasury Guild; they show bounty amounts and assignee wallets. Tasks created in Treasury Guild (tasks from before the repository was linked, Call: … attendance tasks, imported tasks) have no project item, so they are listed under Created in Treasury Guild below the project columns; managers open them from there like any other card, and they are paid from Payday as usual. Archived tasks lists the workgroup's archived tasks on a GitHub board too.

Task proposals do not apply here: a passed proposal never opens a GitHub issue. To put work on a GitHub board after a community vote, use a decision (or agree informally), then Add an issue… or create the issue on GitHub. If task proposals are on and this is the community's only board, the Proposals page explains that Task needs an app board.

GitHub tasks mirror a GitHub issue, and admins and the workgroup's leads manage that issue from here (see Managing issues from Treasury Guild):

  • Add an issue with the Add issue… box at the bottom of a project column (and a repository picker when more than one repo feeds the workgroup). The issue is created on GitHub in that column's Status; it is not payable here until it also matches the import rule.
  • Title, description, labels, assignees, project status and bounty amounts are edited in the task dialog and saved to GitHub; dragging a card between the board's columns moves the issue on GitHub too. Board items that are not tasks yet open the same kind of editor. You can add another of the project's unused number fields as a bounty token from the dialog, or create a new number field from a wallet token (or ADA) with a confirm that it changes the GitHub project.
  • GitHub assignees are chosen from people assignable on the issue's repository. In the task dialog you also set each GitHub assignee's payout wallet (it is filled in automatically when they have linked their GitHub account, and shows Not linked otherwise), and you can add extra manual assignees that the sync never touches.
  • Budget month is editable in Treasury Guild and never leaves it.
  • There is no Archive task for GitHub tasks: remove the payable label or move the issue out of the import column (here or on GitHub) and the sync removes the task (unless it is settled or has payout rows, see Which issues become tasks).
  • After payment, Treasury Guild moves the issue to the repository's Paid status column (see GitHub integration) when the project has a column of that name; the task stays and keeps mirroring the issue.

Task lifecycle at a glance

Pay stateMeaning
noneOrdinary task, not payable yet.
payableIn the Audited column (app board) or labelled and in the import column (GitHub). Shown on Payday.
queuedIncluded in a payout transaction that is waiting for signatures.
paidThe payout transaction is confirmed on-chain. The task sits in the Paid column (app board) or the Paid status (GitHub).
reconciledA refund for this payout was matched on the Incoming page. Stays in the Paid column.

Queued, paid and reconciled tasks are settled: their amounts are never re-read from GitHub, they are never removed by the sync, and they cannot be paid again.