Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time


Node.js CI Coverage Status Join Slack workspace MIT License


Coordinate use of your team's shared resources, in Slack 馃

Lockbot only lets each shared resource be locked by one person at a time - like a Mutex 馃敀

Example use case: One person wants to deploy and test on a shared staging environment without someone else deploying and overwriting their deployed code, so they use /lock staging-env to lock the staging environment and notify the channel.

Lockbot cannot physically prevent naughty or unaware users from using a resource whilst it's locked by someone else. Your team must agree to use Lockbot whenever they start or stop using a shared resource.

Add Lockbot to Slack

How to use Lockbot

Lockbot has three main commands:

  • /locks Get locked resources list 馃摐
  • /lock [resource-name] Lock a resource 馃敀
  • /unlock [resource-name] [options] Unlock a resource 馃敁
    • Set [options] to force if you need to unlock when someone is away on holiday

Each Slack channel has its own list of resources.

When someone successfully locks or unlocks a resource, the channel is notified.

Lockbot API

It is possible to view, create and delete locks via the Lockbot HTTP API.

To explore the API take a look at the OpenAPI spec.

The API is secured using basic access authentication.

  • /lbtoken Learn about Lockbot API access tokens 馃挕
  • /lbtoken new Generate a new Lockbot API access token 馃帿

Each access token is scoped to the Slack team and channel they were created in and to the user who created them.


Don't be a stranger, contributions are welcome

See the Contributing Guide for development setup instructions.


If you discover a security vulnerability, please send an e-mail to