chiefOfStaff.rules.save
Add or change a rule for some people: by Discord person or role, optionally only in some channels, give them tools, take tools away, answer them with a profile, or add instructions. A tool turned off anywhere else stays off. Pass id and expectedRevision to change a rule. Only the platform owner's workspace has a Chief of Staff. Administrator access required.
/api/v1/accounting/chiefOfStaff.rules.savePermissions
Who can call it
Retries
MCP
accounting_chief_of_staff_rules_saveFields
idstring (ID)The rule to change. Leave it out to add a rule.
namestringRequiredA display name.
1–100 characters
enabledbooleanpeoplearray of objectsDiscord people the rule applies to, each with the name to show.
at most 50 items
rolesarray of stringsDiscord role names the rule applies to; anyone with one of them matches.
at most 50 items · each 1–100 characters
channelIdsarray of stringsOnly in these channels and their threads. Empty means everywhere.
at most 50 items · each Matches ^\d{17,20}$
allowToolsarray of enum valuesgetCurrentEventsFromLumagetEventStatsFromLumagetEventDetailsFromLumagetEventGuestsFromLumagetCommunityContactswebSearchscrapeUrlgithubweatherat most 9 items
blockToolsarray of enum valuesgetCurrentEventsFromLumagetEventStatsFromLumagetEventDetailsFromLumagetEventGuestsFromLumagetCommunityContactswebSearchscrapeUrlgithubweatherat most 9 items
profileIdenum or nullAnswer these people with this profile.
generalhackathonorganizernewsinstructionsstringExtra instructions the Chief of Staff follows there, in plain words. Empty clears them.
at most 2000 characters
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.rules.save \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"name": "Synthetic Ventures Inc."
}'{
"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.rules.save \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"name": "Synthetic Ventures Inc."
}'More in AI and memory.