Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit 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