AI and memory

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.

POST/api/v1/accounting/chiefOfStaff.channels.update

Permissions

accounting:readaccounting:writeaccounting:admin

Who can call it

admin

Retries

Idempotency key required, with expectedRevision

MCP

accounting_chief_of_staff_channels_update

Fields

  • guildIdstringRequired

    Matches ^\d{17,20}$

  • channelIdstringRequired

    Matches ^\d{17,20}$

  • channelNamestring or null
  • modeenum

    inherit follows the server; conversation, mentions or off replace it here and in the channel's threads.

    inheritconversationmentionsoff
  • profileIdenum or null

    The profile for this channel. Null keeps the one its name picks.

    generalhackathonorganizernews
  • allowToolsarray of enum values

    Tools turned on here on top of the profile's.

    getCurrentEventsFromLumagetEventStatsFromLumagetEventDetailsFromLumagetEventGuestsFromLumagetCommunityContactswebSearchscrapeUrlgithubweather

    at most 9 items

  • blockToolsarray of enum values

    Tools turned off here.

    getCurrentEventsFromLumagetEventStatsFromLumagetEventDetailsFromLumagetEventGuestsFromLumagetCommunityContactswebSearchscrapeUrlgithubweather

    at most 9 items

  • instructionsstring

    Extra instructions the Chief of Staff follows there, in plain words. Empty clears them.

    at most 2000 characters

  • resetboolean

    Clear every setting for this channel so it follows the server again.

  • expectedRevisioninteger

    The revision you last read: 0 for something never saved. A different revision means someone else changed it first.

    0 to 9007199254740990

  • idempotencyKeystringRequired

    Any 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"
}'
Response
{
  "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.

POST/api/v1/accounting/chiefOfStaff.channels.update
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.