DIBS ON STUFF
Help and documentation
Help topics
Dibs On Stuff is a queuing app for Slack and Discord, designed to facilitate turn-taking in a friendly manner. It's widely used for tasks like claiming staging/test servers, distributing sales leads or support tickets, and taking turns with office chores, and even managing small amounts of car parking space allocation.Any questions, billing or support queries, just contact me: trouble @ conchable.com
Alex Lance
Getting Started
-
Install into Slack
a) Login to your normal Slack account
b) Then come back here and click: Add to Slack
c) You'll see a screen like below, and be asked if it's okay to install the Dibs On Stuff app, check the Permissions requested are acceptable and hit the "Allow" button
d) Next head over to your favourite Slack channels and run/invite Dibs On Stuff
e) Type/dibs help
to get going
-
Install into Discord
a) Login to the Discord server where you want to install Dibs
b) Then come back here and click: Add to Discord
c) You'll see a screen like below, and be asked if it's okay to install the Dibs On Stuff app, check the Permissions requested are acceptable, then select the dropdown to choose a the Discord server that you want to install Dibs On Stuff into, and then hit the "Continue" button
-
Upgrading to Extra or Pro
If you're after more features for Dibs On Stuff there are additional plans that can be accessed with a Stripe or PayPal subscription.
1. The Extra Features are $10USD per month.
2. The Pro Features are $29USD per month (it includes all the Extra Features, and the plan is also available as a yearly payment with an 8% discount)
Commence a subscription with any of these buttons:
You'll be taken to either the Stripe or PayPal site to login and commence a monthly or yearly subscription payment. A notification will then be sent from Stripe or PayPal to Dibs On Stuff to activate the additional features for your Slack organization or your Discord server. You will need to contact me to let me know what the name of your Slack organization is, email activate@dibsonstuff.com
There's more information about each additional feature below.
Using /dibs
commands
-
The Basics
You and your team mates can access Dibs On Stuff from the Slack or Discord chat window. Just invoke Dibs using the forward-slash button and then type the word "dibs", eg:
/dibs help
This command will print a small summary of all the Dibs commands. The text of the message will only be visible to you.
/dibs on THING
This command is the big one! When you run it, you will attempt to seize the THING (whatever it might be). For example you might want to let everyone know that you're holding onto the staging/testing server for a little while. When you run /dibs on staging you will either seize the staging/testing server, or you will be placed in queue for the server (because someone else might be using the server).
/dibs off THING
Ok so you claimed the staging/testing server, and now you're all done with it - it's time to release your hold on the server and let the next person have their go. So you run /dibs off staging and that's you done! If there are any other people waiting in line to use the server, that next person will now be notified that it's their turn. And so it goes.
(Running /dibs off can sometimes get forgotten, so there's a paid Extra Feature that runs /dibs off automatically after a set amount of time that you specify - see below).
/dibs q
There are often a few staging servers or various THINGs in play, this command will print a handy list of all the things - and who is holding each one ("q" is short for queue, but easier to type)
/dibs q THING
This command will print the entire queue of people who are lined up to get a hold of the THING.
/dibs force-off THING
Sometimes someone forgets to release the THING, or maybe they go on leave/vacation, this command allows someone else to step in and forcibly move the THING to the next person in the line.
/dibs extras
This command will activate the Extra/Pro Features for a month, for free. If you decide that your team likes the additional functionality, then it's time to begin one of the paid subscriptions for the extra features and support.
-
The Extra Features
For a small monthly fee these "Extra Features" can be activated. Here's some info on the features:Timed automatic release, eg:
Automatically release the item after an amount of time that you specify. Use the keyword "for" to indicate the time period. The time period can be minutes, hours, days or weeks, and you can use abbreviations for that time unit. Eg:/dibs on THING for 1 hour
/dibs on staging for 45 min
would mean that when it is your turn to seize the staging server, you will get notified, and then you will get 45 minutes before it is automatically released to the next person.
If you want to extend the amount of time you are holding it for, just claim it again with a longer time, eg:/dibs on staging for 3 hours
Allow only approved THING names, eg:
This provides the ability to define a fixed list of approved item names. No more spelling errors, eg:/dibs set staging approved
/dibs on staging
works, but/dibs on stageing
won't. Once you've approved certain names, the built-in abbreviation functionality works too, eg one doesn't have to type the entire name, an adhoc abbreviation will work:/dibs on stag
Add reasons for calling dibs on things, eg:
Set a custom description when you're seizing the THING. This lets other team members know why you're occupying/claiming/seizing the thing. Use the keyword "because" to indicate the reason./dibs on staging because issue #3456
Slack buttons in the Dibs list, eg:
Now when you're viewing the list of items that have been claimed or approved, a handy button will appear next to each item. The button will allow you to claim or release each thing instantly./dibs q
Setup randomly ordered queues, eg:
Can't decide who the lucky person is today? Better than drawing names from a hat, use a random queue to decide who's next! Just update the relevant THING to make it random. Note: every time someone new is added to the queue, the ordering of the participants gets shuffled again./dibs set feed-the-fish random
Secret queues with people's names hidden, eg:
Secret queues to prevent anyone peeking at the order of people in the queue. I originally wrote this feature so that everyone could put dibs on a particular halloween costume, without revealing who was coming as who, eg:/dibs set shower-time secret
/dibs set halloween/* secret
denote all conches that start with halloween/ as hidden membership/dibs on halloween/jeff-bezos
for someone to put dibs on that terrifying costume. Now when someone runs/dibs q
it won't state who is in the queue, but just that someone is perhaps claiming it.Queue nudging to help remind people to keep the queue moving, eg:
Queues can be configured to be more noisy - so that when a new person is added to the queue, the person at the head of the queue (the "conch-holder" will get a notification (a nudge!) that someone else is interested./dibs set hot-potato nudge
/dibs set * nudge
to enable it for all queues/dibs set my-queue nudge
to enable it just for particular queues/dib set my-queue no-nudge
to undo the settingQueue name abbreviation
Help avoid typos, and make it easier to type commands with queue name abbreviations. Just approve the queue name first, and then you can use the shortest possible (unique) abbreviation to reference the queue in the dibs on and dibs off commands./dibs set encyclopedia approved
/dibs on encyc
-
The Pro Features
For a company or business you may have advanced requirements and want to access the Pro Features plan.API access
The items and queues that you setup in /dibs can now be added/edited/removed etc via API calls. This means you can hook your items up to CI/CD pipelines - or work them into any other automation you want.
See here for examples
To use the Dibs API you will need to set an API key and then use it in your request headers like: 'X-Api-Key: abcd1234...'. You can set an API key that works with all Conches by using an asterisk, or specify a Conch name specifically, note the API key that is generated will only be displayed once:
/dibs set * newkey
generate an API key for all THINGS/dibs set THING newkey
generate the key for the Conch named THING/dibs set THING newkey my-secret-key-thats-not-that-good
set your own key if you want/dibs set THING removekey
remove API access to a thingRestrict queues to particular Slack channels
For heavier Dibs usage you may want to specify that particular items are only for particular Slack/Discord channels. Eg you might have one channel named #deploys and that channel will only have items referring to particular deploys in there. And another channel for eg taking turns with car parks named #parking and you only want the car space names to appear in that channel.
/dibs set carpark24 approved parking
/dibs set carpark25 approved parking
/dibs set staging approved misc-servers
Which would approve the conches named "carpark24" and "carpark25" for the #parking channel. And would approve the conch named "staging" for the #misc-servers Slack channels.
This impacts the output of the/dibs q
command too - so that huge lists of conches are filtered down to only the relevant conches in a particular channel.Automatic re-queuing for job roster queues
Great for roster duty or taking turns with after hours support or chores, or any other turn taking event that repeats day after day.
Once a person discards the THING, they'll automatically get placed onto the end of the queue again, eg:/dibs set water-cooler-refill repeat
Their job will be to fill up the water-cooler, and it will only be their turn again, once everyone else has had their turn.Enforce timers on queues
Isn't it always the way - you implement an absolutely crash-hot system - people are taking turns - everything's harmonious and functioning like a well-oiled machine, and then Barry gets a hold of the THING. And he forgets to release it. Bazza, mate, come on! So this feature lets you setup certain queues as requiring a time duration to be specified when trying to claim the item.
/dibs set THING force-timers
note: THING could be a wildcard asterisk * to indicate all conches, or eg THING/* to indicate a namespace/dibs on THING
will then fail because no time period specified/dibs on THING for 2h
will succeed because a time period has been specified/dibs set THING no-force-timers
will undo the ruleQueue jumping (aka pushing in)
You're a busy person - you don't have time to queue up for stuff, let everyone know that you're more important than them by pushing to the front of the queue:/dibs force-on THING
(hopefully you're just pushing to the front of the "do the dishes" queue? :)Queue renaming (because names are hard!)
A simple way to rename a queue without losing all the queue members./dibs set THING rename NEWTHING
Quiet Queues to reduce the amount of noise in the Slack/Discord channel
Remove the group messages that appear in the chat channel about the queue changing hands. You'll still receive the "Only visible to you" messages, but the entire channel won't get messaged every time the conch changes hands./dibs set * quiet
to set all queues to quiet mode/dibs set THING quiet
to set just one thing to quiet mode/dibs set THING no-quiet
to undo the setting/dibs set
to view current settings