chiefOfStaff.channels.update
Set rules for one Discord channel and its threads: how the Chief of Staff replies there (or that it stays out), its profile, tools turned on or off, and instructions. Pass reset to clear the channel's rules. Pass the channel's revision as expectedRevision (0 the first time). Only the platform owner's workspace has a Chief of Staff. Administrator access required.
/api/v1/accounting/chiefOfStaff.channels.updatePermissions
Who can call it
Retries
MCP
accounting_chief_of_staff_channels_updateFields
guildIdstringRequiredMatches ^\d{17,20}$
channelIdstringRequiredMatches ^\d{17,20}$
channelNamestring or nullmodeenuminherit follows the server; conversation, mentions or off replace it here and in the channel's threads.
inheritconversationmentionsoffprofileIdenum or nullThe profile for this channel. Null keeps the one its name picks.
generalhackathonorganizernewsallowToolsarray of enum valuesTools turned on here on top of the profile's.
getCurrentEventsFromLumagetEventStatsFromLumagetEventDetailsFromLumagetEventGuestsFromLumagetCommunityContactswebSearchscrapeUrlgithubweatherat most 9 items
blockToolsarray of enum valuesTools turned off here.
getCurrentEventsFromLumagetEventStatsFromLumagetEventDetailsFromLumagetEventGuestsFromLumagetCommunityContactswebSearchscrapeUrlgithubweatherat most 9 items
instructionsstringExtra instructions the Chief of Staff follows there, in plain words. Empty clears them.
at most 2000 characters
resetbooleanClear every setting for this channel so it follows the server again.
expectedRevisionintegerThe revision you last read: 0 for something never saved. A different revision means someone else changed it first.
0 to 9007199254740990
idempotencyKeystringRequiredAny unique text you generate once per intended change, so a retried request only happens once. Send it as the Idempotency-Key header instead if you prefer; if you send both they must match.
8–200 characters
Example
curl https://app.getoatmilk.com/api/v1/accounting/chiefOfStaff.channels.update \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"guildId": "11111111111111111",
"channelId": "11111111111111111"
}'{
"data": { … }
}Try it
Try it
Checks your input with this action’s real schema and answers like the API, with synthetic data. No key needed, and nothing changes.
curl https://app.getoatmilk.com/api/v1/accounting/chiefOfStaff.channels.update \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"guildId": "11111111111111111",
"channelId": "11111111111111111"
}'More in AI and memory.