Docs

Core
Advanced
API

create

Creates a new resource in the global namespace, or if isolation is enabled, in the current channel.

# Syntax
/mutex create [resource]

# Examples
/mutex create crimson
/mutex create devbox-10
/mutex create "room 17"

reserve

Reserves a resource for a set amount of time. Other users will not be able to reserve the resource without it first being released.

As this is the most frequenly used command, the word 'reserve' is optional and may be omitted. You may also omit the duration, in which case we will use the default duration set for your team (see configure duration).

# Syntax
/mutex reserve [resource] [duration] [reason]

# Examples
/mutex reserve crimson 10m
/mutex reserve "room 17" 3d
/mutex reserve devbox261 4h "v2.3.12 acceptance testing"

# Shortcuts
/mutex crimson 2h
/mutex "room 17" 45m "sprint planning"

release

Immediately unlocks a resource that you had previously reserved, and allows it to be used by other members of your team.

# Syntax
/mutex release [resource]

# Examples
/mutex release crimson
/mutex release "room 17"

force-release

Force-unlocks a resource reserved by another member of your team.

Before resorting to this option, we recommend politely asking the person who reserved the resource, to release it.

# Syntax
/mutex force-release [resource]

# Examples
/mutex force-release crimson
/mutex force-release "room 17"

delete

Permanently deletes a resource.

Keep in mind that while it is possible to recreate the resource, any reservations that previously attached will not be restored.

# Syntax
/mutex delete [resource]

# Examples
/mutex delete crimson
/mutex delete "room 17"

list

Lists all existing resources along with their status, who reserved them, and any reservation notes.

# Syntax
/mutex list

# Example Response
devbox261 - Feb 26 2023, 04:35 PST (pgreen) - "v2.3.12 acceptance testing"
crimson - Available
room 17 - Available

help

Shows a list of the most commonly used commands and how to use them. This is only sent to the user who made the request.

# Syntax
/mutex help

Advanced

Global configs & other advanced options for the power user

quota

View the current quota usage for your account. This is only sent to the user who made the request.

# Syntax
/mutex quota

# Example Response
Plan: pro
Quota: 13/100
Owner: TeamOwner

configure timezone

Sets the timezone for your team. This is used when printing reservation messages to the channel or when listing resources.

If no timezone is specified in the command, it will instead print out the current configured timezone.

To view the full list of timezones, see our supported timezones page.

# Syntax
/mutex configure timezone [timezone]

# Examples
/mutex configure timezone
/mutex configure timezone "Europe/London"

configure isolation

Enables or disables isolation in a given channel.

Resources created/reserved/deleted in an isolated channel remain separate from the global group of resources. Channel isolation is extremely useful for managing large fleets of resources and for keeping resources owned by one team, seperated from others.

If no status is specified in the command, it will instead print out the status of the current channel.

For more information, see our isolated channels blog post.

# Syntax
/mutex configure isolation [status]

# Examples
/mutex configure isolation
/mutex configure isolation on
/mutex configure isolation off

configure duration

Sets the default duration of reservations if one is not specified. By default, this is set to 24 hours.

If no duration is specified in the command, it will instead print out the current configured duration.

# Syntax
/mutex configure duration [duration]

# Examples
/mutex configure duration
/mutex configure duration 10m

API

For times when interacting through Slack isn't enough

An API-user is associated with a single slack team, and provides a token which can be used to authenticate with the API.

All API interaction needs to be done via an API-user & there is no limit on how many apiUsers which can be created.

Logged-in users can check out our API docs. Prefer Swagger UI? We've got you covered at Swagger API Docs.

# Commands
# Create a user with an optional description
/mutex configure api create-user apiBot "github actions user"

Fetch user details & API token
/mutex configure api get-user apiBot

# List API-users associated with the current slack-team
/mutex configure api list-users

# Deletes the specified slack-user.
/mutex configure api delete-user apiBot

# Regenerate API token - the previous token will immediately become inactive
/mutex configure api rotate-token apiBot