Team workflow in Discord¶
Every submit to Perforce is announced in Discord, in your discipline's channel, with your lead pinged. Bugs are reported with a slash command from anywhere in the server. None of this needs an AI agent — it is plain Discord, and it works the same whether you use the Rephrased MCP or not.
Read the page for your discipline:
| You are | Read |
|---|---|
| Engineer | Engineering |
| Artist | Art |
| Designer | Design |
| Audio | Audio |
| Producer or lead | Producers and leads |
The two things you do¶
1. Link your Perforce workspace to your Discord account. Run /link once and pick your workspace from the list — your name goes on it, and from then on every submit from that workspace is announced under your name.
You do not have to rename your workspace. Volunteers share five guest logins (GuestAGP_..._01 through _05), so a login says which discipline you are but not who you are; the workspace name is what the bot reads. If your workspace is named rp_<discipline>_<your Discord name> — rp_design_albert, rp_art_maddyma — the bot matches it for you on your first submit and you can skip the step. If it serves your other projects and you would rather leave it, just run /link. /roster <discipline> shows your own status at any time.
2. Describe your changelist like this: <TASK-CODE> [Your Name] what changed — for example CORE-005 [Gabriel Li] rune component fix. The task code keeps every resubmit for that task in one thread.
Engineers do this. Art and design do not, and nothing is missing if they don't: they have no task codes yet, so their notices are identified by the changelist number and their description instead. Art and Design have the details.
Neither is enforced. A submit with a missing name or task code is still announced. Engineering notices arrive tagged as incomplete and your lead sees the tag.
What happens after you submit¶
Within about a minute:
- The bot posts your changelist in your discipline's submission channel —
#art-submission,#design-submission,#engineer-submission— and pings your lead. - The post names you and your workspace, and lists the files you added, edited or deleted.
- A thread opens on that post. You and your lead both land in it.
- Your lead presses a button.
Engineers get the task code in the post and a thread named after it, so every resubmit for one task stays together. Art and design get the changelist number in the thread name, because that is what identifies their work.
Looks good — you are pinged in the thread with approved, no action needed. The thread tag becomes [APPROVED].
Needs changes — your lead types a reason, and you are pinged in the thread with it. Fix it and submit again. The tag becomes [CHANGES NEEDED], and the resubmit goes back to [NEED REVIEW] so your lead knows something is waiting.
Block — your lead is waiting on something outside your work. The tag becomes [BLOCKED], and you are pinged with the reason.
Only your discipline's lead, a producer, or an admin can press. Everyone else gets told who can.
What is not announced¶
Changelists that touch only these are skipped, because they are personal or generated:
Content/Developers/— your own scratch spaceContent/Imports/— vendor and marketplace packs__Builds/— build outputContent/Collections/,Content/__ExternalActors__/,Content/__ExternalObjects__/— editor bookkeeping
Work freely in Content/Developers/<You>/ and nobody is pinged.
Which channel your submit lands in¶
The bot decides in this order:
- Your Discord discipline role. This is the real answer, and it wins. A designer editing
Source/is still a designer, so the notice goes to Design. - The folders you touched, if the bot does not know who you are yet —
Art/is art,Source/andConfig/are engineering,UI/andDataLayers/are design. - The discipline in your workspace name, as a last resort.
Gameplay/, Levels/ and Input/ are shared between design and engineering, so folders alone cannot settle them — which is exactly why your role comes first. Typing the wrong discipline into your workspace name cannot misroute anything.
If the bot cannot work out who you are, the notice still posts, marked unlinked. Run /link and pick your workspace from the list — it is the last line of defence, and you do not need anybody's help to do it.
Reporting a bug¶
/bug works in any channel. Pick the discipline it belongs to, describe what happens and how to reproduce it, and it is filed in #bugs with that discipline's lead pinged. Anyone can file, including people with no role yet. Whoever picks it up presses Claim, and Resolve when it is fixed.
Run /roster <discipline> any time to see your discipline and whether your account is linked yet. It marks which line is you. See Producers and leads for /links, and for linking on somebody else's behalf.
Change history¶
- 2026-09-22 — Gabriel Li — Art and design submits carry no task code: their notices are identified by changelist number and description, and every changelist gets its own thread. Notices now state the review tags.
- 2026-09-17 — Gabriel Li — Workspace naming is now optional: run
/linkand pick your workspace./roster <discipline>shows your own status. - 2026-09-17 — Gabriel Li — First version: submit notices per discipline, review buttons,
/bug, workspace naming.