Ever run into Slack custom fields that can only be updated via API? Not through the admin UI, not through the profile editor – just raw API calls.
I hit this managing a workspace where we had custom fields for employee metadata (team assignments, office locations, etc.). Slack's UI lets you view these fields, but to actually update them? You're writing curl commands or Python scripts. And god help you if you need to update 50 users.
So I built a CLI that wraps the tedious parts:
Update a custom field (no more looking up field IDs in API docs)
slack-profile set-field -u U1234567890 -n Xf0111111 -v "Engineering Team"
Or use interactive mode - it fetches your workspace's custom fields
slack-profile interactive
The interactive mode is the real win – it autocompletes field names, shows you what type each field expects, and handles all the JSON formatting that Slack's API requires.
Also handles batch operations:
Update 100 users' custom field in one shot
slack-profile batch-field -u U123,U456,U789... -n Xf0111111 -v "Remote"
Available via npm, RubyGems, or Homebrew. Both Node.js and Ruby versions with identical interfaces.
I built this after spending an afternoon writing API calls to update a single field type. If you've ever muttered "why isn't this in the admin UI?" at Slack, this might help.
jaspermayone•2h ago
I hit this managing a workspace where we had custom fields for employee metadata (team assignments, office locations, etc.). Slack's UI lets you view these fields, but to actually update them? You're writing curl commands or Python scripts. And god help you if you need to update 50 users.
So I built a CLI that wraps the tedious parts:
Update a custom field (no more looking up field IDs in API docs) slack-profile set-field -u U1234567890 -n Xf0111111 -v "Engineering Team"
Or use interactive mode - it fetches your workspace's custom fields slack-profile interactive
The interactive mode is the real win – it autocompletes field names, shows you what type each field expects, and handles all the JSON formatting that Slack's API requires.
Also handles batch operations: Update 100 users' custom field in one shot slack-profile batch-field -u U123,U456,U789... -n Xf0111111 -v "Remote"
Available via npm, RubyGems, or Homebrew. Both Node.js and Ruby versions with identical interfaces.
GitHub: https://github.com/jaspermayone/slack-profile-cli
I built this after spending an afternoon writing API calls to update a single field type. If you've ever muttered "why isn't this in the admin UI?" at Slack, this might help.