NestBot registers a dedicated slash command for each feature area. All commands are handled at theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/owasp/nest/llms.txt
Use this file to discover all available pages before exploring further.
/integrations/slack/commands/ endpoint and respond with a private direct message to the invoking user.
How commands work
Every command class inherits fromCommandBase (backend/apps/slack/commands/command.py). When you run a slash command:
- Slack sends a POST request to the commands endpoint.
- Slack Bolt dispatches the payload to the matching handler class.
- The handler calls
render_blocks(), which renders a Jinja2 template with context data. - The rendered Block Kit JSON is sent back as a direct message via
client.chat_postMessage.
:warning: An error occurred. Please try again later. message instead of failing silently.
Command reference
/ai — AI-powered OWASP Nest assistant
/ai — AI-powered OWASP Nest assistant
/board — OWASP Global Board information
/board — OWASP Global Board information
/chapters — Find OWASP chapters
/chapters — Find OWASP chapters
/committees — List OWASP committees
/committees — List OWASP committees
/community — Explore the OWASP community
/community — Explore the OWASP community
/contact — Contact OWASP
/contact — Contact OWASP
/contribute — Find contribution opportunities
/contribute — Find contribution opportunities
/donate — Support OWASP with a donation
/donate — Support OWASP with a donation
/events — Browse OWASP events
/events — Browse OWASP events
/gsoc — Google Summer of Code information
/gsoc — Google Summer of Code information
/jobs — Check available job opportunities
/jobs — Check available job opportunities
/leaders — Chapter and project leaders
/leaders — Chapter and project leaders
/news — OWASP news
/news — OWASP news
/owasp — Your gateway to OWASP
/owasp — Your gateway to OWASP
/policies — Policies and procedures
/policies — Policies and procedures
/projects — Search the OWASP project directory
/projects — Search the OWASP project directory
/sponsor and /sponsors — Sponsorship information
/sponsor and /sponsors — Sponsorship information
/sponsors lists current OWASP sponsors. /sponsor is registered in the Slack manifest but is currently marked as coming soon./staff — OWASP corporate structure
/staff — OWASP corporate structure
/users — OWASP user lookup
/users — OWASP user lookup
Adding a new command
To add a new slash command:- Create a new file in
backend/apps/slack/commands/, for examplemycommand.py. - Define a class that inherits from
CommandBase. The class name determines the command name (e.g.class MyCommandregisters/mycommand). - Override
get_context()orrender_blocks()if the command needs dynamic data. - Create a corresponding Jinja2 template at
backend/apps/slack/templates/commands/my_command.jinja. - Add the command to
backend/apps/slack/MANIFEST.yamlso Slack knows to route it to the bot.
CommandBase.configure_commands() discovers and registers all subclasses automatically at startup — no additional wiring is required.